Docker Ubuntu在代理之后

查看文档,没有关于如何在代理之后运行它的说明。 https://docs.docker.com/installation/ubuntulinux/

阅读论坛,指令是更新/ etc / default / docker导出代理设置。

export http_proxy="http://127.0.0.1:3128/" export https_proxy="http://127.0.0.1:3128/" export HTTP_PROXY="http://127.0.0.1:3128/" export HTTPS_PROXY="http://127.0.0.1:3128/" 

然后我们重新启动/启动泊坞窗

  sudo service docker start 

在一个容器里面,如果我运行'apt-get',npm install,bower install我无法通过代理。

不知道我错过了什么。

Ubuntu 14.04 LTS

对于使用SysVinit Ubuntu 14.04 LTS ,您应该修改/etc/default/docker文件:

 # cat /etc/default/docker # Docker Upstart and SysVinit configuration file # # THIS FILE DOES NOT APPLY TO SYSTEMD # # Please see the documentation for "systemd drop-ins": # https://docs.docker.com/engine/articles/systemd/ # ....... # If you need Docker to use an HTTP proxy, it can also be specified here. export http_proxy="http://web-proxy.corp.xxxxxx.com:8080/" export https_proxy="https://web-proxy.corp.xxxxxx.com:8080/" ...... 

然后重新启动docker

 service docker restart 

Ubuntu 16.04 LTS

对于使用Systemd Ubuntu 16.04 LTS ,你可以关注这个post :

(1)创build一个systemd的插件目录:

 mkdir /etc/systemd/system/docker.service.d 

(2)在/etc/systemd/system/docker.service.d/http-proxy.conf文件中添加代理:

 # cat /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=https://web-proxy.corp.xxxxxx.com:8080/" Environment="HTTPS_PROXY=https://web-proxy.corp.xxxxxx.com:8080/" Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com" 

(3)冲洗更改:

 systemctl daemon-reload 

(4)重启Docker:

 systemctl restart docker 

对于Ubuntu 14.04.2 LTS Linux vagrant-ubuntu-trusty-64 3.13.0-54-generic #91-Ubuntu SMP Tue May 26 19:15:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

编辑你的/etc/default/docker文件

 sudo vim /etc/default/docker 

在底部添加这一行:

 export http_proxy="http://PROXY_IP:PROXY_PORT" 

重新启动docker服务

 sudo service docker restart 

systemctl将不得不安装,这可能是有问题的。 如果/etc/systemd/system/docker.service.d/http-proxy.conf或/ etc / default / docker解决scheme不适用于您,只需使用以下命令:

docker build [OPTIONS] PATH --build-arg http_proxy=http://your.proxy:port --build-arg https_proxy=http://your.proxy:port --build-arg no_proxy=.internal.domain,localhost,127.0.0.1

在Ubuntu 14.04 LTS中:

关于HTTP_PROXY,HTTPS_PROXY的一个有趣的问题是:如果你的密码有一个像“$”,“%”这样的特殊字符,那么当你执行如下命令时,docker守护进程将不会正确处理它:dock run xxx,遇到错误。 那么你可以尝试设置特殊字符给别人,祝你好运。

您应该将127.0.0.1replace为您的主机IP或一些公共可访问的IP