docker - 在 docker 上设置代理

标签 docker proxy docker-compose docker-pull

我使用的是 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/环境
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 则不行。
我什至重新启动并重新安装。

最佳答案

解决了!
我猜是因为我正在使用 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
然后它接受了所有的环境变量

关于docker - 在 docker 上设置代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58841014/

相关文章:

docker - 无法在 Docker 容器中运行命令

spring - 不使用Maven构建镜像即可对我的Spring Boot应用程序进行Docker化

java - 是否可以从 proxyConnection 检索底层用户?

javascript - 如何检查代理是否在 JavaScript 中工作

docker - 自定义文件而不是 docker-compose.yml

mysql - Docker MYSQL '[2006] MySQL server has gone away'

docker - 为什么我必须首先拉出镜像才能使docker rest api返回某些信息?

git - 如何推送到容器上的 git 服务器?

elasticsearch - 通过代理安装插件

docker - go dep 不在 docker-compose 上运行