Docker在windows操作系统和mac操作系统都提供了boot2docker作为docker-daemon的运行容器成为服务端,同时提供了对应的命令行和GUI客户端,配置Docker网络代理,需要分情况考虑,具体回归到boot2docker的架构上去考虑,如:Docker客户端代理配置、Docker服务端代理配置…
Win7中使用Docker(Boot2Docker)并配置HTTP网络代理
说明
- 使用的Docker版本为:1.13.1;
- Docker ToolBox,包含了boot2docker等工具;
配置步骤
- 双击“Docker Quickstart Terminal”,快速启动Docker;
- 启动完毕之后出现Docker的标志性动物:蓝鲸;
使用如下命令,进入docker-daemon所在的虚拟机;
docker-machine ssh default
再使用如下命令,打开boot2docker的配置文件profile,没有的话就新建;
sudo vi /var/lib/boot2docker/profile
添加如下的环境变量配置;
# HTTP网络代理配置[可选] export HTTP_PROXY="http://host:port" export HTTP_PROXY_USER="username" export HTTP_PROXY_PASS="password" # HTTPS网络代理配置[可选] export HTTPS_PROXY="http://host:port" export HTTPS_PROXY_USER="username" export HTTPS_PROXY_PASS="password" # 其他代理也一样在这里配置...
保存并退出vi编辑器;
重启虚拟机;
sudo reboot
等待启动完毕,此时的 docker-daemon 所在虚拟机即可通过代理访问外网;
进一步简化配置
将下面一句命令复制到 http-proxy-config.sh 文件,没有就新建;
docker-machine ssh default 'sudo sh -c "echo 'export HTTP_PROXY="http://10.101.1.6:80/"' >> /var/lib/boot2docker/profile && echo 'export HTTP_PROXY_USER="t00001"' >> /var/lib/boot2docker/profile && echo 'export HTTP_PROXY_PASS="t00001@sso"' >> /var/lib/boot2docker/profile && echo 'export HTTPS_PROXY="http://10.101.1.6:80/"' >> /var/lib/boot2docker/profile && echo 'export HTTPS_PROXY_USER="t00001"' >> /var/lib/boot2docker/profile && echo 'export HTTPS_PROXY_PASS="t00001@sso"' >> /var/lib/boot2docker/profile && echo 'export NO_PROXY="localhost,127.0.0.1,10*,172*,192*"' >> /var/lib/boot2docker/profile && reboot"'
将 HTTP_PROXY,HTTP_PROXY_USER,HTTP_PROXY_PASS,HTTPS_PROXY,HTTPS_PROXY_USER,HTTPS_PROXY_PASS,NO_PROXY等代理变量更改为自己的实际值;
- [可选]添加其他的代理配置,注意配置的格式,不能换行;
- 在Docker客户端命令行中执行 http-proxy-config.sh ,等待docker服务端重启完毕即可;
参考资料