在docker上设置代理

5sxhfpxr  于 11个月前  发布在  Docker
关注(0)|答案(3)|浏览(181)

我使用Centos 7.7和Docker 19.03。
我无法提取图像并获取:

Error response from daemon: Get https://registry-1.docker.io.v2./: dial tcp lookup : server misbehaving

字符串
我做了谷歌上所有指南建议的事情:

cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Enviroment="HTTP_PROXY=http://myproxy"

systemctl deamon reload
systemctl restart docker


什么都没有发生.如果我做echo $http_proxy我看到我的设置.
更多设置:/etc/environment

http_proxy=http://myproxy
https_proxy=https://myproxy


代理设置用于工作,并在另一台服务器上工作。在此服务器上,我删除了docker旧版本:

docker-1.13.1
docker-common-1.13.1
docker-client-1.13.1


使用旧的docker似乎可以工作,但使用docker-ce就不行了。我甚至重新启动并重新安装了一次。

yhqotfr8

yhqotfr81#

解决了!我想是因为我用的是Centos,所以做systemctl restart docker并没有真正起作用。
创建目录:

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

字符串
创建文件:

nano /etc/systemd/system/docker.service.d/http-proxy.conf


添加以下行:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"


重新启动守护程序:

systemctl daemon-reload


这个重启方法奏效了:

service docker restart


然后它接受了所有的env变量

bhmjp9jg

bhmjp9jg2#

最新的文档详细介绍了Docker使用代理服务器的配置,帮助我构建了最新的Docker镜像。

  • 对于最新的docker客户端(>= v17.07),创建或编辑文件docker/docker.json
  • 对于较旧的docker客户端(<= v17.06),使用--env标志来相应地设置代理
r6vfmomb

r6vfmomb3#

设置这两个变量,它们都可以设置到您的http服务器。变量是用于代理的流量类型,而不是代理服务器的协议:

[Service]
Environment="HTTP_PROXY=http://myproxy:port"
Environment="HTTPS_PROXY=http://myproxy:port"

字符串

相关问题