Docker Engine在RHEL系统上的安装与配置指南
docs Source repo for Docker's Documentation 项目地址: https://gitcode.com/gh_mirrors/docs3/docs
前言
Docker Engine作为容器化技术的核心组件,在RHEL(Red Hat Enterprise Linux)系统上的安装是许多企业用户和开发者需要掌握的基础技能。本文将详细介绍在RHEL 8和RHEL 9系统上安装Docker Engine的完整流程,包括多种安装方式的选择、常见问题的解决方法以及后续配置建议。
系统要求与准备工作
操作系统兼容性
Docker Engine支持以下RHEL版本:
- RHEL 8(所有小版本)
- RHEL 9(所有小版本)
清理旧版本
在安装新版本前,必须彻底移除系统中可能存在的旧版本或冲突软件包:
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runc
执行此命令后,系统可能会提示某些软件包未安装,这属于正常现象。需要注意的是,卸载操作不会自动删除存储在/var/lib/docker/
目录下的镜像、容器、卷和网络数据。
三种安装方式详解
方法一:通过官方仓库安装(推荐)
这是最推荐的方式,便于后续的升级和维护。
1. 设置Docker仓库
首先安装必要的工具并添加Docker官方仓库:
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
2. 安装Docker Engine
安装最新稳定版:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装过程中会提示验证GPG密钥指纹(应为060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
),确认无误后接受即可。
安装特定版本:
首先查看可用版本:
dnf list docker-ce --showduplicates | sort -r
然后安装指定版本(以3:24.0.5-1.el9为例):
sudo dnf install docker-ce-3:24.0.5-1.el9 docker-ce-cli-3:24.0.5-1.el9 containerd.io docker-buildx-plugin docker-compose-plugin
3. 启动并验证
sudo systemctl enable --now docker
sudo docker run hello-world
成功运行后,将看到来自Docker的欢迎信息。
方法二:手动安装RPM包
适用于无法联网的环境或需要精确控制安装版本的情况。
-
下载以下RPM包:
- containerd.io
- docker-ce
- docker-ce-cli
- docker-buildx-plugin
- docker-compose-plugin
-
手动安装:
sudo dnf install ./containerd.io-<version>.rpm \
./docker-ce-<version>.rpm \
./docker-ce-cli-<version>.rpm \
./docker-buildx-plugin-<version>.rpm \
./docker-compose-plugin-<version>.rpm
- 启动服务:
sudo systemctl enable --now docker
sudo docker run hello-world
方法三:使用便捷脚本(仅测试环境)
适用于快速测试环境搭建,但不建议用于生产环境:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
升级与卸载
升级Docker Engine
对于仓库安装方式,直接运行dnf update
命令即可。对于手动安装方式,需要下载新版RPM包后使用dnf upgrade
命令。
彻底卸载Docker
- 移除软件包:
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
- 清理残留数据:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
常见问题解决
- 权限问题:默认情况下,普通用户无法直接运行Docker命令。需要将用户加入docker组:
sudo usermod -aG docker $USER
-
存储驱动选择:RHEL系统推荐使用
overlay2
存储驱动,可通过修改/etc/docker/daemon.json
配置。 -
SELinux冲突:如果遇到SELinux相关错误,可尝试临时设置为permissive模式:
sudo setenforce 0
后续配置建议
- 配置Docker开机自启:
sudo systemctl enable docker
- 设置国内镜像加速(在
/etc/docker/daemon.json
中添加):
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
- 配置日志轮转以防止日志文件过大:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
通过以上步骤,您已经在RHEL系统上成功安装并配置了Docker Engine,可以开始构建和运行容器化应用了。
docs Source repo for Docker's Documentation 项目地址: https://gitcode.com/gh_mirrors/docs3/docs
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考