📅  最后修改于: 2023-12-03 15:41:26.671000             🧑  作者: Mango
如果您在使用 Docker 进行镜像拉取或推送时出现了上述错误,这篇文章将为您提供详细的解决方法。
该错误通常是由于 DNS 解析失败导致的。Docker 使用 DNS 进行镜像拉取和推送,因此 DNS 解析问题可能会导致无法连接到 registry-1.docker.io 或其他 Docker Hub 镜像仓库。以下是解决此问题的步骤:
请确保您的系统已正确配置 DNS 设置。可以尝试使用以下命令测试 DNS 解析:
$ nslookup registry-1.docker.io
如果无法解析,请尝试使用另一个 DNS 服务器或将其设置为公共 DNS 服务器,例如 Google DNS 或 OpenDNS。
如果 DNS 配置无误,则尝试清理 Docker 缓存并重新启动 Docker 服务:
$ sudo systemctl stop docker
$ sudo rm -rf /var/lib/docker/
$ sudo systemctl start docker
有时禁用 IPv6 可以解决此问题。您可以编辑 /etc/sysctl.conf 文件,在文件末尾添加以下行,然后重新启动系统:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
如果您的系统上启用了防火墙,请确保防火墙设置不会阻止 Docker 对 registry-1.docker.io 和其他镜像仓库进行连接。具体而言,您应该允许 Docker 容器访问 TCP 443(HTTPS)和 80(HTTP)端口,同时允许 DNS 流量通过。
以上是解决 Docker 镜像拉取或推送时出现连接被拒绝错误的几种方法。希望能对您有所帮助!