CentOS 8 安装 Docker 超详细教程
适用于 CentOS 8 / CentOS Stream 8,从零开始直到运行第一个容器。

一、准备工作
1. 检查系统版本
bash
cat /etc/redhat-release
看到 CentOS Linux release 8.5.2111 或 CentOS Stream release 8 即可继续。
2. 卸载旧版本 Docker
避免残留导致冲突:
bash
yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3. 安装必要依赖
bash
yum install -y yum-utils device-mapper-persistent-data lvm2
4. 配置 Docker 软件源
根据网络情况二选一:
- 官方源(海外)
bash
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 阿里云镜像源(国内推荐)
bash
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5. 更新缓存
bash
yum makecache
二、安装 Docker
安装最新版本
bash
yum install -y docker-ce docker-ce-cli containerd.io
安装指定版本(可选)
先查看所有版本:
bash
yum list docker-ce --showduplicates | sort -r
再按需安装,例如 24.0.7:
bash
yum install -y docker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io
三、启动并验证
1. 启动并设置开机自启
bash
systemctl start docker
systemctl enable docker
2. 检查状态
bash
systemctl status docker # 看到 active (running) 即成功
docker -v # 查看版本号
至此,Docker 已成功运行。


四、必做配置优化
1. 配置国内镜像加速(强烈推荐)
bash
mkdir -p /etc/docker
vim /etc/docker/daemon.json
写入:
json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.1panel.live"
]
}
重新加载并重启:
bash
systemctl daemon-reload
systemctl restart docker
验证加速生效:
bash
docker info # 输出中应有 Registry Mirrors
2. 允许非 root 用户执行 Docker 命令
bash
groupadd docker # 通常已存在
usermod -aG docker $USER # 将当前用户加入 docker 组
newgrp docker # 刷新当前终端权限
退出重新登录后,docker ps 不再需要 sudo。
3. 开放防火墙端口(按需)
容器需要对外服务时执行,例如:
bash
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
五、常用命令与运行示例
常用速查表
| 操作 | 命令 |
|---|---|
| 查看版本 | docker version |
| 查看本地镜像 | docker images |
| 查看运行中容器 | docker ps |
| 查看所有容器 | docker ps -a |
| 拉取镜像 | docker pull nginx |
| 运行容器 | docker run -d -p 80:80 nginx |
| 停止容器 | docker stop 容器ID |
| 删除容器 | docker rm 容器ID |
| 删除镜像 | docker rmi 镜像ID |
运行一个 nginx 试试
bash
docker pull nginx
docker run -d -p 80:80 nginx
浏览器访问 http://你的服务器IP 即可看到 nginx 欢迎页。
六、Docker运行原理





