CentOS Stream 10 安装部署 Docker 详细教程
·
1. 准备工作
在 CentOS Stream 10 系统上安装 Docker 之前,需要完成一些基础的系统配置。
1.1 修改主机名
为了方便识别,建议先修改主机名:
[root@192 ~]# hostnamectl set-hostname c-docker
[root@192 ~]# su
[root@c-docker ~]#
1.2 确认操作系统版本
检查当前系统是否为 CentOS Stream 10:
[root@c-docker ~]# cat /etc/centos-release
CentOS Stream release 10 (Coughlan)
如果是 Rocky Linux 系统,则显示如下:
[root@R-docker ~]# cat /etc/rocky-release
Rocky Linux release 10.2 (Red Quartz)
1.3 测试网络连通性
确保主机能够访问互联网,以便后续下载软件包:
[root@c-docker yum.repos.d]# ping www.baidu.com
PING www.a.shifen.com (183.2.172.177) 56(84) bytes of data.
64 bytes from 183.2.172.177: icmp_seq=1 ttl=128 time=35.8 ms
64 bytes from 183.2.172.177: icmp_seq=2 ttl=128 time=74.1 ms
64 bytes from 183.2.172.177: icmp_seq=3 ttl=128 time=35.5 ms
64 bytes from 183.2.172.177: icmp_seq=4 ttl=128 time=29.3 ms
# 以上结果说明可以联网
2. 配置 Docker 软件源
为了获得更快的下载速度,建议使用国内镜像源。
2.1 安装必要系统工具
# yum-utils 是一个 yum 的工具箱软件,可以获得 yum-config-manager
yum install -y yum-utils
2.2 添加阿里云 Docker CE 软件源
# 添加阿里云的软件仓库
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看仓库文件
[root@c-docker ~]# cd /etc/yum.repos.d/
[root@c-docker yum.repos.d]# ls
centos-addons.repo centos.repo docker-ce.repo
说明:docker-ce.repo 是仓库配置文件,里面定义了阿里云仓库的网址,可以理解为“藏宝图”,通过它就能找到 Docker 软件包。
3. 安装 Docker
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
各组件说明:
- docker-ce:Docker Community Edition,Docker 社区版主程序
- docker-ce-cli:Docker 命令行客户端
- containerd.io:容器运行时,底层核心
- docker-buildx-plugin:多架构镜像构建插件
- docker-compose-plugin:Compose 官方插件,替代旧版 docker-compose,用于批量编排多个容器
4. 启动 Docker 服务
# 启动 Docker
systemctl start docker
重启 Docker
systemctl restart docker
停止 Docker
systemctl stop docker
设置 Docker 开机自启
systemctl enable docker
4.1 验证 Docker 是否运行
查看 Docker 进程:
[root@c-docker ~]# ps aux | grep docker
root 12369 3.0 1.1 2020932 88080 ? Ssl 16:18 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 12565 0.0 0.0 6380 1960 pts/0 S+ 16:18 0:00 grep --color=auto docker
其中 /usr/bin/dockerd 是 Docker 守护进程(daemon),表示服务已在后台运行。
4.2 查看 Docker 版本
[root@c-docker ~]# docker version
Client: Docker Engine - Community
Version: 29.6.1
API version: 1.55
Go version: go1.26.4
Git commit: 8900f1d
Built: Fri Jun 26 11:44:00 2026
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 29.6.1
API version: 1.55 (minimum version 1.40)
Go version: go1.26.4
Git commit: 8ec5ab3
Built: Fri Jun 26 11:40:12 2026
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.2.5
GitCommit: e53c7c1516c3b2bff98eb76f1f4117477e6f4e66
runc:
Version: 1.3.6
GitCommit: v1.3.6-0-g491b69ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
5. 传统软件安装方式对比(以 Nginx 为例)
5.1 使用 yum 安装 Nginx
yum install nginx -y
5.2 启动 Nginx 服务
# 传统方式
service nginx start
新方式(推荐)
systemctl start nginx
停止服务
service nginx stop
或
systemctl stop nginx
重启服务
service nginx restart
或
systemctl restart nginx
5.3 查看 Nginx 进程
[root@c-docker ~]# ps aux | grep nginx
root 12705 0.0 0.0 14052 2104 ? Ss 16:31 0:00 nginx: master process /usr/sbin/nginx
nginx 12706 0.0 0.0 14440 3824 ? S 16:31 0:00 nginx: worker process
nginx 12707 0.0 0.0 14440 3952 ? S 16:31 0:00 nginx: worker process
nginx 12708 0.0 0.0 14440 3952 ? S 16:31 0:00 nginx: worker process
nginx 12709 0.0 0.0 14440 3660 ? S 16:31 0:00 nginx: worker process
root 12715 0.0 0.0 6380 1872 pts/0 S+ 16:32 0:00 grep --color=auto nginx
5.4 配置防火墙和访问网站
关闭防火墙以确保可以访问:
# 停止 firewalld 服务
systemctl stop firewalld
禁止 firewalld 开机启动
systemctl disable firewalld
查看服务器 IP 地址:
[root@c-docker ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:bb:c5:0b brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname enx000c29bbc50b
inet 192.168.10.232/24 brd 192.168.10.255 scope global dynamic noprefixroute ens160
valid_lft 1332sec preferred_lft 1332sec
inet6 fe80::20c:29ff:febb:c50b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 26:f5:ba:1c:e6:0c brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
在 Windows 浏览器中输入服务器 IP 地址(如 192.168.10.232)即可访问 Nginx 默认页面。
5.5 Nginx 网站访问问题排查
如果无法访问,可按以下步骤排查:
- 检查 Nginx 服务是否启动:查看进程是否存在
- 检查防火墙是否关闭:
systemctl stop firewalld - 检查 80 端口是否监听:
ss -anplut | grep nginx
5.6 修改 Nginx 网站首页
# 进入 Nginx 网站目录
cd /usr/share/nginx/html/
删除默认文件
rm -rf *
安装 vim 编辑器
yum install vim -y
创建自定义首页
vim index.html
将以下 HTML 代码保存到 index.html:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>个人信息卡片</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Microsoft Yahei", sans-serif;
}
body {
background-color: #f5f7fa;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
.card {
background: #fff;
width: 420px;
padding: 30px;
border-radius: 16px;
box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.avatar {
width: 160px;
height: 160px;
border-radius: 12px;
object-fit: cover;
display: block;
margin: 0 auto 25px;
border: 3px solid #2563eb;
}
.info-item {
font-size: 18px;
margin: 14px 0;
color: #333;
}
.label {
font-weight: bold;
color: #2563eb;
min-width: 80px;
display: inline-block;
}
</style>
</head>
<body>
<div class="card">
<img class="avatar" src="feng.jpg" alt="个人照片">
<div class="info-item">
<span class="label">姓名:</span>冯德勇
</div>
<div class="info-item">
<span class="label">电话:</span>18908495097
</div>
<div class="info-item">
<span class="label">公司:</span>三创
</div>
</div>
</body>
</html>
5.7 上传图片到网站目录
# 安装 lrzsz 工具(支持 rz 命令上传文件)
yum install lrzsz -y
上传图片(执行后会弹出文件选择框)
rz
查看上传的文件
[root@c-docker html]# pwd
/usr/share/nginx/html
[root@c-docker html]# ls
feng.jpg index.html
6. 使用 Docker 安装 Nginx
6.1 下载 Nginx 镜像
从华为云镜像仓库下载 Nginx 镜像:
# 下载镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latest
修改镜像标签为更简洁的名称
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latest docker.io/nginx:latest
6.2 查看下载的镜像
[root@c-docker html]# docker images
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
nginx:latest 127262f8c4c7 270MB 71MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latest 127262f8c4c7 270MB 71MB
6.3 启动 Nginx 容器
# 启动容器,将宿主机的 8080 端口映射到容器的 80 端口
docker run -d --name sc-nginx-1 -p 8080:80 nginx:latest
查看运行中的容器
[root@c-docker html]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
09ec2448e0e5 nginx:latest "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp sc-nginx-1
参数说明:
-d:后台运行--name sc-nginx-1:指定容器名称-p 8080:80:端口映射,宿主机的 8080 端口映射到容器的 80 端口
6.4 访问 Docker 容器中的 Nginx
在浏览器中输入 服务器IP:8080(如 192.168.10.232:8080)即可访问。
6.5 修改容器中的网站内容
# 查看正在运行的容器
[root@c-docker html]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
09ec2448e0e5 nginx:latest "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp sc-nginx-1
进入宿主机的 Nginx 网站目录
cd /usr/share/n
更多推荐

所有评论(0)