1、问题复现

当我们在执行 sudo docker run hello-world 的时候,大概率是会报错的,会报下面这个错误

[root@VM-12-6-centos ~]# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
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'.

在这里插入图片描述

还有一种是,我们在拉取其他镜像的时候,也会报错,报错信息包含这种东西的, 重点是timeout

 dial tcp 88.191.249.182:443: i/o timeout

2、问题解决

网上大部分都是用阿里云的镜像加速器,但是不是什么服务器都可以用的,腾讯云的服务器 配置阿里云的镜像加速器是没有用的。

注意区分自己的服务器,是那个厂商的,现在腾讯云和阿里云,都有解决方案

在这里插入图片描述

2.1 阿里云服务器解决方案

1、打开这个链接 阿里云docker 镜像加速 ,进去后下面这个界面,如若没有注册过需要,注册一个号

在这里插入图片描述

2、根据自己的Linux 系统类型,选择对应的标签页(以 CentOS 为例)
3、创建 docker 配置目录

命令 作用
sudo 以 超级管理员权限 执行命令(操作系统目录如 /etc/ 需要 root 权限)
mkdir 创建目录(make directory)
-p 自动创建路径中所有不存在的父目录(若目录已存在则忽略,无报错)
# 以管理员权限创建 Docker 的配置目录,没有这个文件夹的时候,会自动创建,如若有则不操作任何东西
sudo mkdir -p /etc/docker

4、配置 Docker 使用阿里云的镜像仓库作为镜像拉取的加速器

命令 作用
sudo 以 超级管理员权限 执行命令
tee 将输入内容同时输出到屏幕和文件
/etc/docker/daemon.json Docker 的配置文件路径
#  <<-'EOF' 到 EOF 是一个输入多行内容的包裹格式
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://2ls0a1gg.mirror.aliyuncs.com"]
}
EOF

5、重启

# 确保 systemd 识别 Docker 配置(如果修改了服务文件)
sudo systemctl daemon-reload

# 重启 Docker 使新配置生效
sudo systemctl restart docker

官方详细操作截图
在这里插入图片描述

2.2 腾讯云服务器解决方案

腾讯云 docker 镜像加速 网址

腾讯云的操作步骤和阿里云的操作步骤相似,都是要修改配置文件

  1. 执行以下命令,打开 /etc/docker/daemon.json 配置文件。
# 腾讯云用的是 vim ,阿里云用的是 tee 都一样,都是为了创建文件、写入内容
vim /etc/docker/daemon.json
  1. 按 i 切换至编辑模式,添加以下内容,并保存。
{
   "registry-mirrors": [
   "https://mirror.ccs.tencentyun.com"
  ]
}
  1. 执行以下命令,重启 Docker 即可
sudo systemctl restart docker

参考链接

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐