大家学习中如果碰到困难,可以加入黑马智学伴侣寻求帮助。

本安装教程参考Docker官方文档,地址如下:

https://docs.docker.com/engine/install/centos/

1.卸载旧版

首先如果系统中已经存在旧的Docker,则先卸载:

1
2
3
4
5
6
7
8
9
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
docker-selinux

2.配置Docker的yum库

首先要安装一个yum工具

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装成功后,执行命令,配置Docker的yum源(已更新为阿里云源):

1
2
3
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

更新yum,建立缓存

1
sudo yum makecache fast

3.安装Docker

最后,执行命令,安装Docker

1
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.启动和校验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

5.配置镜像加速

镜像地址可能会变更,如果失效可以百度找最新的docker镜像。

配置镜像步骤如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 创建目录
mkdir -p /etc/docker

# 复制内容
tee /etc/docker/daemon.json <<-'EOF'
{
"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"
]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

5.配置镜像加速(阿里云已停用)

这里以阿里云镜像加速为例。

5.1.注册阿里云账号

首先访问阿里云网站:

https://www.aliyun.com/

注册一个账号。

5.2.开通镜像服务

在首页的产品中,找到阿里云的容器镜像服务

img

点击后进入控制台:

img

首次可能需要选择立刻开通,然后进入控制台。

5.3.配置镜像加速

找到镜像工具下的镜像****加速器

img

页面向下滚动,即可找到配置的文档说明:

img

具体命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 创建目录
mkdir -p /etc/docker

# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

5.4.解决方案

原文链接

1
2
3
docker pull hello-world
Using default tag: latest
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)

明明已经配置了镜像加速器,改了又改,检查网络也没问题。最终联想到阿里云加速器发了新的公告,是不是不能用了,网上查了查确实如此。
2024年7月2日阿里云公告镜像加速器仅支持内网使用,也就是说你要购买阿里云的服务器才能使用了
下面是网上找的一些可以替换的镜像源,成功的解决了问题,镜像下载速度也还不错,分享一下。

修改配置文件,更换镜像源:

1
vi /etc/docker/daemon.json 
1
2
3
4
5
6
7
8
9
{
"registry-mirrors": [
"https://proxy.1panel.live",
"https://docker.1panel.top",
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://docker.ketches.cn"
]
}

重启 Docker 服务以使配置生效

1
2
[root@host1 ~]# systemctl daemon-reload
[root@host1 ~]# systemctl restart docker

验证 Docker 镜像加速是否生效

1
docker info

查看输出信息,如果看到 Registry Mirrors 字段,并且包含了上述镜像地址,则表示配置成功.

image-20250313203635733

现在就可以正常拉取镜像了。