为什么 FROM registry.hub.docker.com/library/centos:centos7 在我的 docker 构建中失败?

Why does FROM registry.hub.docker.com/library/centos:centos7 fail in my docker build?

我的 Dockerfile 中的以下行:

FROM registry.hub.docker.com/library/centos:centos7

失败并出现以下错误:

Sending build context to Docker daemon  1.664MB
Step 1/17 : FROM registry.hub.docker.com/library/centos:centos7
Get https://registry.hub.docker.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

我 运行 在代理后面,我尝试按照 this website 上的说明进行操作,但仍然没有成功(同样的错误)。所以我在 ~/.docker/config.json 中有一个文件,它看起来很像 link 所说的,我插入了我的内部代理 IP 地址信息。但是,我仍然收到上面显示的相同“请求已取消”错误消息。

这是关于我的 CentOS 7 系统的一些信息:

Linux localhost.localdomain 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

docker version
Client: Docker Engine - Community
 Version:           20.10.5
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        55c4c88
 Built:             Tue Mar  2 20:33:55 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:32:17 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0

正如 richyen 所说,正确的图像是 centos:7,应该可以正常工作。

你说的是代理:你用来设置代理的方法有效,但如果你的系统使用 systemd (这是 centos7 的情况我think) 你应该使用 this method 来设置你的 docker 代理。过去我遇到了很多麻烦。