Win7中使用Docker(Boot2Docker)并配置HTTP网络代理

Docker在windows操作系统和mac操作系统都提供了boot2docker作为docker-daemon的运行容器成为服务端,同时提供了对应的命令行和GUI客户端,配置Docker网络代理,需要分情况考虑,具体回归到boot2docker的架构上去考虑,如:Docker客户端代理配置、Docker服务端代理配置…

Win7中使用Docker(Boot2Docker)并配置HTTP网络代理

说明

  1. 使用的Docker版本为:1.13.1;
  2. Docker ToolBox,包含了boot2docker等工具;

配置步骤

  1. 双击“Docker Quickstart Terminal”,快速启动Docker;
  2. 启动完毕之后出现Docker的标志性动物:蓝鲸;
  3. 使用如下命令,进入docker-daemon所在的虚拟机;

    docker-machine ssh default
    
  4. 再使用如下命令,打开boot2docker的配置文件profile,没有的话就新建;

    sudo vi /var/lib/boot2docker/profile
    
  5. 添加如下的环境变量配置;

    # 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"
    
    # 其他代理也一样在这里配置...
    
  6. 保存并退出vi编辑器;

  7. 重启虚拟机;

    sudo reboot
    
  8. 等待启动完毕,此时的 docker-daemon 所在虚拟机即可通过代理访问外网;

进一步简化配置

  1. 将下面一句命令复制到 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"'
    
  2. 将 HTTP_PROXY,HTTP_PROXY_USER,HTTP_PROXY_PASS,HTTPS_PROXY,HTTPS_PROXY_USER,HTTPS_PROXY_PASS,NO_PROXY等代理变量更改为自己的实际值;

  3. [可选]添加其他的代理配置,注意配置的格式,不能换行;
  4. 在Docker客户端命令行中执行 http-proxy-config.sh ,等待docker服务端重启完毕即可;

参考资料

  1. https://github.com/boot2docker/boot2docker#insecure-registry
  2. https://stackoverflow.com/questions/26424338/docker-daemon-config-file-on-boot2docker-docker-machine-docker-toolbox
文章目录
,