我使用centos 7.7和docker 19.03。
我无法拉出图像并得到:
Error response from daemon: Get https://registry-1.docker.io.v2./: dial tcp lookup : server misbehaving
我做了Google上所有指南的建议:
cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Enviroment="HTTP_PROXY=http://myproxy"
systemctl deamon reload
systemctl restart docker
什么也没发生。 如果我回显$ http_proxy,我会看到我的设置。
更多设置: / etc / enviroment
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,则不能。 我什至重启并再次重新安装。
答案 0 :(得分:0)
同时设置两个变量,它们都可以设置为您的http服务器。该变量用于代理的流量类型,而不是代理服务器的协议:
[Service]
Enviroment="HTTP_PROXY=http://myproxy"
Enviroment="HTTPS_PROXY=http://myproxy"
答案 1 :(得分:0)
解决了!
我猜是因为我当时正在使用Centos
systemctl restart docker
并没有真正起作用。
创建文件:
mkdir -p /etc/systemd/system/docker.service.d
输入我添加的内容
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
重新启动守护程序:
systemctl daemon-reload
此重新启动方法有效:
service restart docker
然后接受了所有的环境变量
答案 2 :(得分:0)
详细介绍了Docker配置为使用代理服务器的latest documentation有助于我构建最新的Docker映像。
对于最新的docker客户端(> = v17.07)创建或编辑文件〜/ .docker / config.json
对于较旧的Docker客户端(<= v17.06),请使用--env标志相应地设置代理