gpt4 book ai didi

linux - 不能 docker pull - 连接被拒绝

转载 作者:行者123 更新时间:2023-12-01 07:23:45 31 4
gpt4 key购买 nike

我在 ubuntu virtualbox 中从 docker 运行以下命令并收到连接被拒绝错误。

我在公司代理后面,并已将我的环境变量配置为使用代理以及用户名和密码。我也尝试使用代理链。

root@mbak1-VirtualBox:~# sudo proxychains docker pull busybox
ProxyChains-3.1 (http://proxychains.sf.net)
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp 54.152.209.167:443: getsockopt: connection refused

root@mbak1-VirtualBox:~# docker pull hello-world
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp 35.169.231.249:443: getsockopt: connection refused

我的情况似乎与以下完全相同:

https://github.com/moby/moby/issues/31510

更新

我尝试将代理配置添加到以下文件中,但没有成功。此外,该文件不存在:/etc/sysconfig/docker 。

我也尝试访问实际的 URL,但我收到一个 JSON 响应说未经授权。

enter image description here

更新2

我认为问题在于我的 DNS 配置。
在虚拟机中,我得到以下查找:
mbak1@mbak1-VirtualBox:~$ nslookup registry-1.docker.io
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
Name: registry-1.docker.io
Address: 34.200.28.105
Name: registry-1.docker.io
Address: 52.54.216.153
Name: registry-1.docker.io
Address: 34.200.90.16
Name: registry-1.docker.io
Address: 52.204.202.231
Name: registry-1.docker.io
Address: 52.22.181.254
Name: registry-1.docker.io
Address: 54.152.209.167
Name: registry-1.docker.io
Address: 34.205.207.96
Name: registry-1.docker.io
Address: 35.169.231.249

最佳答案

我的问题的答案来自这里的这篇文章:https://community.ubnt.com/t5/UNMS-Beta/Connection-Refused-Failed-to-pull-docker-images/m-p/2220235/highlight/true#M3960

我正在转发它:

我设法通过为 docker 添加代理来找到解决方案。谢谢您的帮助。

为 docker 服务创建一个 systemd 插入目录:
$ sudo mkdir -p /etc/systemd/system/docker.service.d
创建一个名为 /etc/systemd/system/docker.service.d/http-proxy.conf 的文件添加 HTTP_PROXY 环境变量:

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

或者,如果您使用 HTTPS 代理服务器,请创建一个名为 /etc/systemd/system/docker.service.d/https-proxy.conf 的文件。添加 HTTPS_PROXY 环境变量:
[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/"

如果您有内部 Docker 注册表需要在不使用代理的情况下联系,您可以通过 NO_PROXY 环境变量指定它们:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

或者,如果您在 HTTPS 代理服务器后面:
[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,127.0.0.1,docker registry.somecorporation.com"

冲洗变化:
sudo systemctl daemon-reload
重启 Docker:
sudo systemctl restart docker
验证是否已加载配置:
systemctl show --property=Environment docker

Environment=HTTP_PROXY=http://proxy.example.com:80/



或者,如果您在 HTTPS 代理服务器后面:
systemctl show --property=Environment docker

Environment=HTTPS_PROXY=https://proxy.example.com:443/

关于linux - 不能 docker pull - 连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50130899/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com