Linux shell 下使用代理(Proxy)上网的设置方式
缘起
我厂办公室测试小机房有一些运算资源,但是其网络是不能直接上公网的,而是通过一个内部代理(内部域名是:proxy.xxxdev.com,端口 3128)来上公网的。
但是现在部署环境,多半需要在命令行下折腾,而且还多半需要不停的从公网下东西(安装),所以,怎样在命令行下(shell 里)使用代理来上公网就成了一个绕不开的话题……
具体方案
“通用”方案
这里的通用之所以打上引号是因为其实这个方案并不通用,因为还是有很多软件不支持,只不过其相对其他来讲还算是相对通用。
Linux Bash 中有环境变量:http_proxy、https_proxy 和 ftp_proxy 等相关变量,都是做 proxy 设置的。
具体用法是:
1 | export http_proxy=http://proxy.xxxdev.com:3218/ |
这种做法 curl、wget 等命令都是支持的
pear & pecl
用 php 的,有时候会用到 pear 和 pecl。
虽然这两者查看代理设置的命令是:
1 | pear config-get http_proxy; |
但是设置 http_proxy 的命令却都是这一句:
1 | pear config-set http_proxy proxy.xxxdev.com:3128 |
docker pull
docker 拉取 image 的时候,如果需要代理怎么办呢?
如果是 CentOS 7.x 的环境下的话,可以:
1 | mkdir /etc/systemd/system/docker.service.d/; |
写下如下内容:
1 | [Service] |
然后
1 | systemctl daemon-reload |
docker build
docker build image 的时候,也是需要拉东西的,这时也要单独设置 proxy,具体方法在命令行中加入参数 “ –build-arg HTTP_PROXY=http://proxy.xxxdev.com:3128/ ”,于是整个命令就像是这样:
1 | docker build --build-arg HTTP_PROXY=http://proxy.xxxdev.com:3128/ . -t xxx:yyy |
结尾
暂时就只整理到这么多,以后有新情况再继续更新。