通过docker pull xxx:xxx拉取镜像时,报错

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)

或者

docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded

该问题为网络问题,连接不通:docker官方镜像仓库Docker Hub 下载速度在国内是很慢的、网速较差,我们需要设置国内镜像服务,配置镜像加速

解决方法1

sudo mkdir -p /etc/docker #如果已有/etc/docker/daemon.json文件,可跳过这一步
sudo tee /etc/docker/daemon.json <<-‘EOF’

{
  "registry-mirrors": ["https://docker.m.daocloud.io"]
}

或者

{
  "registry-mirrors": ["https://mirror.baidubce.com"]

EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

注意 registry-mirrors用自己的镜像地址 镜像加速器地址
在这里插入图片描述

阿里云的镜像加速器地址是为每个阿里云账户(包括主账号和RAM用户)单独生成的、即个人私有的,这意味着每个用户将拥有自己独特的镜像加速器地址。当你登录到阿里云控制台并导航至容器镜像服务来获取镜像加速器地址时,所显示的地址是专属于你的账号的。

解决方法2

如果以上修改后仍报错,可添加镜像仓库(亲测有效):

sudo vi /etc/docker/daemon.json
{
   
  "registry-mirrors": [
        "https://xxxxxxxk.mirror.aliyuncs.com", 
        "https://0dj0t5fb.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://6kx4zyno.mirror.aliyuncs.com",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
        "https://docker.m.daocloud.io",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://your_preferred_mirror",
        "https://dockerhub.icu",
        "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://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"
  ]
}

写入以下内容(registry-mirrors中的第一条仍然用自己的镜像地址)
重新

sudo systemctl daemon-reload
sudo systemctl restart docker

再次docker pull便可成功拉取

注意:
如果这里安装成功,在进入docker容器里面进行安装python包时,需要将这里清空,不然会遇到如下错误,一直无法安装成功

在这里插入图片描述

更多推荐