centos8安装docker【新】

CentOS Stream 8 安装 Docker(2025 最新实践)

本指南面向 CentOS Stream 8,在 2025 年可用的镜像与依赖路径基础上编写,解决常见的依赖缺失与仓库 404 问题。内容可直接复制到博客平台。


适用场景与要点

  • 目标系统:CentOS Stream 8(非 CentOS Linux 8)
  • 推荐源:国内镜像(示例使用阿里云)
  • 依赖来源:BaseOS / AppStream / Extras / PowerTools + EPEL
  • 安装策略:启用 Docker 官方仓库;安装时使用 --nobest 规避版本"过新"导致的依赖不匹配

1. 切换到可用镜像源(阿里云示例)

将系统现有 .repo 文件备份后,写入 BaseOS、AppStream、Extras、PowerTools 四个仓库配置。

bash 复制代码
sudo mkdir -p /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 2>/dev/null

# BaseOS
sudo tee /etc/yum.repos.d/CentOS-Stream-BaseOS.repo > /dev/null <<'EOF'
[baseos]
name=CentOS Stream 8 - BaseOS - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/$basearch/os/
gpgcheck=0
enabled=1
EOF

# AppStream
sudo tee /etc/yum.repos.d/CentOS-Stream-AppStream.repo > /dev/null <<'EOF'
[appstream]
name=CentOS Stream 8 - AppStream - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/$basearch/os/
gpgcheck=0
enabled=1
EOF

# Extras
sudo tee /etc/yum.repos.d/CentOS-Stream-Extras.repo > /dev/null <<'EOF'
[extras]
name=CentOS Stream 8 - Extras - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/$basearch/os/
gpgcheck=0
enabled=1
EOF

# PowerTools(在 Stream 8 中常用以替代 CRB)
sudo tee /etc/yum.repos.d/CentOS-Stream-PowerTools.repo > /dev/null <<'EOF'
[powertools]
name=CentOS Stream 8 - PowerTools - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/PowerTools/$basearch/os/
gpgcheck=0
enabled=1
EOF

sudo dnf clean all
sudo dnf makecache

2. 启用 EPEL 仓库

使用独立 RPM 安装,避免被无效仓库阻塞。

bash 复制代码
sudo dnf install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

3. 安装 Docker 所需依赖

container-selinux 常来自 EPEL;iptableslibcgroup 来自系统仓库。

bash 复制代码
sudo dnf install -y iptables libcgroup container-selinux --enablerepo=epel

4. 添加 Docker 官方仓库并安装

bash 复制代码
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker CE(使用 --nobest 以获得依赖匹配的版本组合)
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --nobest

5. 启动与验证

bash 复制代码
sudo systemctl enable --now docker
docker version
docker run hello-world

看到输出中包含:

复制代码
Hello from Docker!

即表示安装成功。


6.(可选)将当前用户加入 docker 组

bash 复制代码
sudo usermod -aG docker $USER
newgrp docker

7. 常见问题排查

7.1 CRB 仓库 404

  • 在 CentOS Stream 8 下,请优先使用 PowerTools ,并禁用失效的 CRB:

    bash 复制代码
    sudo sed -i 's/^enabled=.*/enabled=0/' /etc/yum.repos.d/CentOS-Stream-CRB.repo 2>/dev/null || true

7.2 container-selinux 找不到

  • 先确认 EPEL 已安装:

    bash 复制代码
    sudo dnf install -y epel-release || sudo dnf install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
  • 重新刷新缓存并指定仓库安装:

    bash 复制代码
    sudo dnf clean all && sudo dnf makecache
    sudo dnf --enablerepo=epel install -y container-selinux

7.3 Unit file docker.service does not exist

  • 说明 Docker 未正确安装或仓库不可用,请重走:第 4 步的仓库配置与安装命令;
  • 确保 docker-ce, docker-ce-cli, containerd.io 均已安装成功;

7.4 dnf config-manager 不存在

bash 复制代码
sudo dnf install -y dnf-plugins-core

8. 一键安装脚本(可选)

保存为 install_docker_stream8.sh 并执行 bash install_docker_stream8.sh

bash 复制代码
#!/usr/bin/env bash
set -euo pipefail

# 更换到阿里云镜像
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 2>/dev/null || true

cat > /etc/yum.repos.d/CentOS-Stream-BaseOS.repo <<'EOF'
[baseos]
name=CentOS Stream 8 - BaseOS - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/$basearch/os/
gpgcheck=0
enabled=1
EOF

cat > /etc/yum.repos.d/CentOS-Stream-AppStream.repo <<'EOF'
[appstream]
name=CentOS Stream 8 - AppStream - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/$basearch/os/
gpgcheck=0
enabled=1
EOF

cat > /etc/yum.repos.d/CentOS-Stream-Extras.repo <<'EOF'
[extras]
name=CentOS Stream 8 - Extras - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/$basearch/os/
gpgcheck=0
enabled=1
EOF

cat > /etc/yum.repos.d/CentOS-Stream-PowerTools.repo <<'EOF'
[powertools]
name=CentOS Stream 8 - PowerTools - Aliyun
baseurl=https://mirrors.aliyun.com/centos/8-stream/PowerTools/$basearch/os/
gpgcheck=0
enabled=1
EOF

dnf clean all -y
dnf makecache -y

# EPEL
dnf install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

# 依赖
dnf install -y iptables libcgroup container-selinux --enablerepo=epel

# Docker 官方仓库 + 安装
dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --nobest

# 启动并验证
systemctl enable --now docker
docker version || true
echo "Run: docker run hello-world"

版本与更新

  • 文档更新时间:2025-10
  • 适配对象:CentOS Stream 8(如为 CentOS Linux 8,建议迁移至 Rocky/Alma 8 再安装 Docker)
相关推荐
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn862 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉3 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦3 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_961875243 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant