【Docker】ERROR: Get “https://registry-1.docker.io/v2/“: context deadline exceeded
【Docker】ERROR: Get “https://registry-1.docker.io/v2/”: context deadline exceeded
问题描述
在执行以下命令时遇到错误:
sudo docker-compose up -d db redis
错误信息如下:
ERROR: Get "https://registry-1.docker.io/v2/": context deadline exceeded
原因分析
错误:获取 “https://registry-1.docker.io/v2/” 时出错:net/http:在等待连接时请求被取消(等待标头时客户端超时)。
Docker在尝试从默认的Docker镜像仓库(registry-1.docker.io)下载镜像时,由于网络问题导致超时。
解决方案
-
创建 Docker 配置目录
sudo mkdir -p /etc/docker
-
修改Docker的配置文件
/etc/docker/daemon.json
:sudo vim /etc/docker/daemon.json
-
在打开的配置文件中,添加
registry-mirrors
字段,更改Docker的默认镜像仓库:{ "registry-mirrors": [ "http://hub-mirror.c.163.com", "https://mirrors.tuna.tsinghua.edu.cn", "http://mirrors.sohu.com", "https://ustc-edu-cn.mirror.aliyuncs.com", "https://ccr.ccs.tencentyun.com", "https://docker.m.daocloud.io", "https://docker.awsl9527.cn" ] }
-
重新加载 Docker 配置
sudo systemctl daemon-reload
-
重启 Docker 服务
sudo systemctl restart docker