Docker Hub 执行 docker pull命令,拉取镜像失败/sudo docker run hello-world报错
文章目录
- 1、问题复现
- 2、问题解决
- 2.1 阿里云服务器解决方案
- 2.2 腾讯云服务器解决方案
- 参考链接
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 镜像加速 网址
腾讯云的操作步骤和阿里云的操作步骤
相似
,都是要修改配置文件
- 执行以下命令,打开
/etc/docker/daemon.json
配置文件。
# 腾讯云用的是 vim ,阿里云用的是 tee 都一样,都是为了创建文件、写入内容
vim /etc/docker/daemon.json
- 按 i 切换至编辑模式,添加以下内容,并保存。
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
- 执行以下命令,重启 Docker 即可
sudo systemctl restart docker
参考链接
- 腾讯云 Docker 镜像源加速镜像下载
- 阿里云 Docker 镜像源加速镜像下载