CentOS Stream Docker 安装与配置全流程指南
一、前置条件
1.1 系统要求
- 操作系统:CentOS Stream 9 (x86_64)
- 内核版本:≥ 3.10(建议 ≥ 4.18)
- 权限:
sudo或root用户权限
在 CentOS Stream 环境下安装和配置 Docker 的完整流程。涵盖系统前置要求、旧版本卸载、依赖工具安装、仓库配置(含国内镜像源)、Docker 引擎安装及服务启动。同时提供了镜像加速器配置、用户权限优化、常见问题排查(守护进程连接、防火墙端口、GPG 密钥)及后续操作建议。旨在帮助用户快速搭建可用的 Docker 运行环境。
sudo 或 root 用户权限sudo systemctl stop docker docker.socket
sudo systemctl disable docker docker.socket
sudo systemctl stop containerd
sudo systemctl disable containerd
sudo dnf remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
sudo rm -rf /run/docker
sudo rm -rf /run/containerd
sudo groupdel docker
sudo dnf install -y dnf-plugins-core yum-utils device-mapper-persistent-data lvm2
说明:
dnf-plugins-core用于管理仓库,device-mapper-persistent-data和lvm2是 Docker 存储驱动依赖。
sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo dnf config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
验证仓库:执行
sudo dnf repolist确认docker-ce仓库已加入。
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
关键提示:安装过程中会提示验证 GPG 密钥,确认指纹匹配:
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35安装组件说明:
docker-ce:Docker 引擎核心docker-ce-cli:Docker 命令行客户端containerd.io:容器运行时docker-buildx-plugin:构建多平台镜像docker-compose-plugin:Docker Compose 集成
sudo systemctl start docker
# 启动服务
sudo systemctl enable docker
# 设置开机自启
sudo systemctl status docker
# 检查状态(应显示 "active (running)")
重启 Docker 生效:
sudo systemctl restart docker
编辑 Docker 配置文件:
mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://ccr.ccs.tencentyun.com",
"https://docker.rainbond.cc",
"https://docker.nju.edu.cn"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
重要更新:
registry.docker-cn.com已停止维护,请优先使用docker.mirrors.ustc.edu.cn或hub-mirror.c.163.com。
sudo docker run hello-world
成功输出:
Hello from Docker!说明 Docker 服务正常运行。
sudo)sudo usermod -aG docker $USER
# 将当前用户加入 docker 组
newgrp docker
# 刷新当前 shell 的组权限
验证:执行
docker ps无需sudo即可运行。
现象:Cannot connect to the Docker daemon
解决:
sudo systemctl status docker重启网络与 Docker:
sudo systemctl restart NetworkManager && sudo systemctl restart docker
解决:
sudo firewall-cmd --permanent --add-port=2375/tcp
sudo firewall-cmd --reload
云服务器额外步骤:在云平台(如阿里云、腾讯云)的安全组规则中放行 2375 端口。
解决:
sudo rpm --import https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
| 配置项 | 作用 |
|---|---|
/etc/docker/daemon.json | 核心配置文件,定义镜像加速器、日志驱动等关键参数 |
docker buildx | 支持多平台构建(如 docker buildx build --platform linux/amd64) |
docker compose | 集成 Compose 功能,无需单独安装 docker-compose 命令 |
管理容器:
docker ps # 查看运行中容器
docker images # 查看镜像
docker rm $(docker ps -aq) # 清理所有容器
测试网络:
docker run -d --name nginx -p 8080:80 nginx:alpine
curl http://localhost:8080 # 访问测试
重要提示:镜像加速器优先使用
docker.mirrors.ustc.edu.cn(清华大学)或hub-mirror.c.163.com(网易),避免使用已停用的registry.docker-cn.com。云服务器需在安全组中放行 Docker 端口(如 2375、80、443 等)。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online