Docker拉取镜像失败的解决方案

在从Docker的Hub库中拉取镜像时,可能会遇到以下错误:

docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). See 'docker run --help'

这个问题通常是由于网络连接问题或镜像源访问受限导致的。以下是详细的解决方法。

解决方法
1. 检查网络连接

首先确保你的服务器能够正常访问互联网,可以尝试使用以下命令测试网络连接

ping google.com

如果网络连接存在问题,请先修复网络。

2. 修改Docker配置文件

编辑Docker的配置文件 /etc/docker/daemon.json,添加或修改如下内容,以使用国内的镜像加速器:

{
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "registry-mirrors": [
        "https://docker.registry.cyou",
        "https://docker-cf.registry.cyou",
        "https://dockercf.jsdelivr.fyi",
        "https://docker.jsdelivr.fyi",
        "https://dockertest.jsdelivr.fyi",
        "https://mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.mirrors.ustc.edu.cn",
        "https://mirror.iscas.ac.cn",
        "https://docker.rainbond.cc"
    ]
}

3、执行以下命令使配置文件生效:

sudo systemctl daemon-reload

sudo systemctl restart docker

更多推荐