查看文档,没有关于如何在代理后面运行它的说明。 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/"
然后我们重启/启动docker
sudo service docker start
在容器内部,如果我运行'apt-get',npm install,bower install我无法通过代理。
不确定我错过了什么。
答案 0 :(得分:131)
对于使用Ubuntu 14.04 LTS
的{{1}},您应该修改SysVinit
文件:
/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
的{{1}},您可以按照post进行操作:
(1)创建systemd插件目录:
Ubuntu 16.04 LTS
(2)在Systemd
文件中添加代理:
mkdir /etc/systemd/system/docker.service.d
(3)同花顺变化:
/etc/systemd/system/docker.service.d/http-proxy.conf
(4)重启Docker:
# 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"
答案 1 :(得分:25)
对于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
答案 2 :(得分:7)
您可以尝试在/etc/environment
中添加行:
https_proxy="http://127.0.0.1:3128"
http_proxy="http://127.0.0.1:3128"
ftp_proxy="http://127.0.0.1:3128"
no_proxy="127.0.0.1/8, localhost, 192.168.0.0/16"
它将对您的Linux系统上的所有服务有用
然后编辑/lib/systemd/system/docker.service
。
在[Service]
部分的末尾,添加以下行:
EnvironmentFile=/etc/environment
然后:
sudo systemctl daemon-reload
sudo systemctl restart docker.service
答案 3 :(得分:4)
系统安装必须安装,这可能会有问题。 如果/etc/systemd/system/docker.service.d/http-proxy.conf或/ etc / default / docker解决方案不适合您,只需使用以下命令:
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
答案 4 :(得分:2)
在Ubuntu 14.04 LTS中:
有关HTTP_PROXY的一个有趣问题,HTTPS_PROXY是:如果您的密码有一个特殊的字符,如“$”,“%”,那么当您执行以下命令时,docker守护程序将无法正确处理它:dock run xxx ,你会遇到错误。然后你可以尝试将特殊字符设置给其他人,祝你好运。
答案 5 :(得分:1)
根据Docs
添加到~/.docker/config.json
代理配置
{
"proxies":
{
"default":
{
"httpProxy": "http://127.0.0.1:3001",
"noProxy": "*.test.example.com,.example2.com"
}
}
}
答案 6 :(得分:0)
您应该将127.0.0.1
替换为您的主机IP或某些公共可访问IP