在 Red Hat Enterprise Linux (RHEL) 8 上安装 Docker CE 的步骤与 CentOS 略有不同,以下是针对 RHEL 8 的完整指南:
---
### **1. 准备工作:启用必要仓库**
#### **1.1 启用 Red Hat 订阅(如有必要)**
如果您的 RHEL 8 系统已注册订阅,确保启用了以下仓库:
sudo subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms
sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
#### **1.2 配置 Docker CE 仓库**
RHEL 8 官方仓库不包含 Docker CE,需手动添加 Docker 官方仓库:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/rhel/docker-ce.repo
#### **1.3 使用国内镜像加速(可选)**
替换为阿里云镜像(加快下载速度):
sudo sed -i 's#download.docker.com#mirrors.aliyun.com/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
---
### **2. 安装 Docker CE**
#### **2.1 安装依赖组件**
sudo dnf install -y device-mapper-persistent-data lvm2
#### **2.2 安装 Docker CE 和 CLI**
sudo dnf install -y docker-ce docker-ce-cli containerd.io
#### **2.3 验证安装**
sudo systemctl start docker
sudo docker --version
预期输出:
Docker version 20.10.21, build baeda1f
---
### **3. 安装指定版本(如 20.10.6)**
#### **3.1 列出所有可用版本**
sudo dnf list docker-ce --showduplicates | sort -r
输出示例:
docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable
#### **3.2 安装指定版本**
sudo dnf install -y docker-ce-20.10.6-3.el8
---
### **4. 配置 Docker 服务**
#### **4.1 启动并设置开机自启**
sudo systemctl enable --now docker
#### **4.2 验证服务状态**
sudo systemctl status docker
#### **4.3 配置用户权限(可选)**
允许非 root 用户运行 Docker:
sudo usermod -aG docker $USER
newgrp docker # 立即生效(需重新登录)
---
### **5. 常见问题解决**
#### **问题 1:依赖冲突**
**错误提示**:
Error: Package: docker-ce-20.10.6-3.el8.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2:2.95
**解决方案**:
安装兼容的 `container-selinux`(需 EPEL 仓库):
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install -y container-selinux
#### **问题 2:GPG 密钥验证失败**
**错误提示**:
```
Public key for docker-ce-*.rpm is not installed
```
**解决方案**:
导入 Docker 官方 GPG 密钥:
sudo rpm --import https://download.docker.com/linux/rhel/gpg
#### **问题 3:镜像加速配置**
配置国内镜像加速(如阿里云):
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<你的阿里云镜像加速地址>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl restart docker
---
### **总结**
| **步骤** | **命令** |
|------------------------|-------------------------------------------------------------------------|
| 添加 Docker 仓库 | `sudo dnf config-manager --add-repo=https://download.docker.com/linux/rhel/docker-ce.repo` |
| 安装 Docker CE | `sudo dnf install -y docker-ce docker-ce-cli containerd.io` |
| 安装指定版本 | `sudo dnf install -y docker-ce-20.10.6-3.el8` |
| 配置镜像加速 | 编辑 `/etc/docker/daemon.json` 并重启服务 |
通过以上步骤,您可以在 RHEL 8 上成功安装并配置 Docker CE。若需进一步排查问题,请检查 `/var/log/docker.log` 日志文件。