我遇到了这个问题,我发现很多人也遇到了同样的问题,主要是因为 DNS 和代理。
但就我而言,我没有代理,我确认 DNS 运行良好。
systemctl disable firewalld ; systemctl stop firewalld ; systemctl disable iptables ; systemctl stop iptables ; iptables -F ; iptables -nL
[root@ ~]# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@ ~]# systemctl status iptables
Unit iptables.service could not be found.
[root@ ~]#
[root@ ~]# docker pull hello-world
Using default tag: latest
Trying to pull repository docker.io/library/hello-world ...
Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
[root@ ~]# # nslookup registry-1.docker.io
Server: 1.1.1.1
Address: 1.1.1.1#53
Non-authoritative answer:
Name: registry-1.docker.io
Address: 107.23.149.57
Name: registry-1.docker.io
Address: 52.5.11.128
Name: registry-1.docker.io
Address: 52.54.232.21
Name: registry-1.docker.io
Address: 54.85.107.53
Name: registry-1.docker.io
Address: 52.1.121.53
Name: registry-1.docker.io
Address: 18.232.227.119
Name: registry-1.docker.io
Address: 18.213.137.78
Name: registry-1.docker.io
Address: 52.4.20.24
该问题随时都可能重现:
- 安装全新的 Centos 7.7 或 7.8(执行 yum update 或者不执行)
- 在 if-cfg 上,添加 DNS1 和 DNS2 = <任何公共 DNS,例如 1.1.1.1、8.8.8.8>
- 安装Docker 1.13.1(yum install docker(docker.x86_64 2:1.13.1-162.git64e9980.el7.centos))
- 启动 Docker(systemctl start docker)
- 禁用firewalld和iptables
- 拉取任意 docker 镜像 (docker pull hello-world)
- 错误如上
尝试使用 Docker-CE,没有任何问题:
- 删除上述 docker(yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine)
- 安装 Docker-CE(yum install -y yum-utils;yum-config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo;yum -y 安装 docker-ce docker-ce-cli containerd.io)
- 启动 Docker(systemctl start docker)
- 拉取任意 docker 镜像 (docker pull hello-world)
- 镜像提取成功
- <再次测试卸载docker-ce,然后再次安装docker(1.13.1),然后再次出现同样的错误>
我需要这个 Docker 1.13.1,因为它是我正在尝试测试的 python-tripleoclient 的依赖项。
有人也遇到过这个问题吗?或者我可能错过了什么?