Docker 拉取失败,更换华为云镜像源(Error response from daemon: net/http: request canceled)

现状

家里的一台 linux 主机,安装 Docker 后遇到无法拉取镜像的问题,报错如下:

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'.

解决思路

国内网络环境如此,更换镜像源,是网上最普遍最常用的方法。

但目前网上常见的这些镜像源(阿里云、清华、中科大)基本都已 error 状态,我们这里使用华为云提供的镜像加速。

图片[1] - Docker 拉取失败,更换华为云镜像源(Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled)
右上角 “镜像加速器”

点击右上角 镜像加速器 黑色按钮,即可获取加速器地址。

图片[2] - Docker 拉取失败,更换华为云镜像源(Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled)
复制备用

接下来编辑 daemon.json 文件,一般在 /etc/docker/ 目录下。若没有就新建一个:

sudo mkdir -p /etc/docker
sudo touch /etc/docker/daemon.json

编辑 daemon.json 文件

sudo vi /etc/docker/daemon.json

插入以下代码:

{
    "registry-mirrors": [ "https://<填写你自己的>.mirror.swr.myhuaweicloud.com" ]
}

重启 Docker:

systemctl restart docker

输入 docker info 查看是否已生效:

root@linux:/# docker info

Client:
 Version:    24.0.7
 Context:    default
 Debug Mode: false

Server:
    ...
    (略)
    ...
 Registry Mirrors:
  https://***.mirror.swr.myhuaweicloud.com/  #出现你刚刚填写的加速器地址即表示生效
 Live Restore Enabled: false

至此配置完毕,实测确认问题已解决。

其它解决思路

用 Clash for Windows 开启 TUN 模式,为 Docker 提供网络代理。

参考:彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错-CSDN博客

sudo mkdir -p /etc/docker
sudo touch /etc/docker/daemon.json
{
    "proxies": {
        "default": {
            "httpProxy": "http://XXX:7890",
            "httpsProxy": "http://XXX:7890",
            "noProxy": "localhost,127.0.0.1,docker-registry.someexample.com"
        }
    }
}

全文完

有用0阅读 21版权提示
留言
其实你有必要说两句
匿名的头像 - 白鱼小栈

昵称

有回复时发送邮件通知我

取消
身份 表情 代码 图片

    暂无更多评论