文章目录
- [在 Rocky Linux 9.2 上使用 dnf 安装 Docker 全流程详解](#在 Rocky Linux 9.2 上使用 dnf 安装 Docker 全流程详解)
- 环境介绍
- [Docker 与 Rocky Linux 兼容性](#Docker 与 Rocky Linux 兼容性)
- 安装前准备
- [添加 Docker 官方仓库](#添加 Docker 官方仓库)
- [安装 Docker CE](#安装 Docker CE)
- [启动与配置 Docker](#启动与配置 Docker)
-
- 配置daemon.json
- [启动 Docker 服务](#启动 Docker 服务)
- [验证 Docker 是否启动成功](#验证 Docker 是否启动成功)
- [测试 Docker 是否工作正常](#测试 Docker 是否工作正常)
- [创建软链接,支持 docker-compose 命令](#创建软链接,支持 docker-compose 命令)
- 常见优化配置
-
- [配置非 root 用户使用 Docker](#配置非 root 用户使用 Docker)
- [配置 Docker 镜像加速器(国内用户)](#配置 Docker 镜像加速器(国内用户))
- 设置日志轮转
- [卸载 Docker 及清理](#卸载 Docker 及清理)
- 常见问题
-
- [dnf 找不到 docker-ce 包](#dnf 找不到 docker-ce 包)
- [启动 Docker 服务失败](#启动 Docker 服务失败)
- 总结
在 Rocky Linux 9.2 上使用 dnf 安装 Docker 全流程详解
Docker 是当前最流行的容器化平台,广泛应用于开发、测试和生产环境。本文以 Rocky Linux 9.2 为例,详细介绍如何使用 dnf
命令安装 Docker,完成配置并进行基础使用。
环境介绍
- 操作系统版本:Rocky Linux 9.2 (Blue Onyx)
- 包管理器:dnf (基于 RPM 的现代包管理工具)
- Docker 版本:Docker CE(Community Edition,社区版)
- 目标:安装最新版 Docker,完成基本配置,保证系统稳定运行。
Docker 与 Rocky Linux 兼容性
Rocky Linux 9.x 基于 RHEL 9,Red Hat 系统使用 dnf
作为包管理工具,默认仓库中没有 Docker CE,需添加 Docker 官方仓库,才能安装到最新版的 Docker CE。
安装前准备
系统更新
建议先更新系统,确保软件包是最新:
bash
sudo dnf update -y
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
yum-utils
提供dnf config-manager
工具device-mapper-persistent-data
和lvm2
是 Docker 依赖的存储驱动包
添加 Docker 官方仓库
Rocky Linux 9 默认没有 Docker CE 包,需要添加 Docker 官方仓库:
bash
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
注意:虽然是 CentOS 的仓库,但 Rocky Linux 兼容性良好,可以正常使用。
国内阿里源
/etc/yum.repos.d/docker-ce.repo
repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gp
安装 Docker CE
安装 Docker 相关包:
bash
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker-ce
:Docker 社区版核心docker-ce-cli
:命令行工具containerd.io
:Docker 依赖的容器运行时docker-buildx-plugin
:构建工具插件docker-compose-plugin
:Docker Compose 插件
启动与配置 Docker
配置daemon.json
这一步可以跳过
编辑或新建 /etc/docker/daemon.json
文件,添加国内镜像源:
json
{
"registry-mirrors": [
"https://docker.wctmd.us.kg",
"https://glo2la19.mirror.aliyuncs.com",
"https://docker.m.daocloud.io"
],
"bip": "192.168.1.1/24",
"data-root": "/data/docker-dir",
"insecure-registries": ["https://harbor.test.com"]
}
启动 Docker 服务
bash
systemctl start docker
systemctl enable docker
验证 Docker 是否启动成功
bash
systemctl status docker
测试 Docker 是否工作正常
bash
docker run hello-world
看到打印"Hello from Docker!"说明安装成功。
创建软链接,支持 docker-compose 命令
bash
ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/
docker-compose version

常见优化配置
配置非 root 用户使用 Docker
为避免每次使用 Docker 都用 sudo,可将用户加入 docker
组:
bash
sudo usermod -aG docker $USER
然后退出重新登录或执行:
bash
newgrp docker
配置 Docker 镜像加速器(国内用户)
编辑或新建 /etc/docker/daemon.json
文件,添加国内镜像源:
json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
然后重启 Docker:
bash
sudo systemctl restart docker
设置日志轮转
防止 Docker 日志文件过大导致磁盘占满:
编辑 /etc/docker/daemon.json
,添加日志轮转配置:
json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
重启 Docker 使配置生效。
卸载 Docker 及清理
如果需要卸载 Docker:
bash
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd
常见问题
dnf 找不到 docker-ce 包
确认仓库已添加,执行:
bash
sudo dnf repolist
如果没有 docker-ce 仓库,重新添加:
bash
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
启动 Docker 服务失败
检查日志:
bash
sudo journalctl -u docker
确认内核支持 overlay2
存储驱动。
总结
- Rocky Linux 9.2 安装 Docker 需先添加官方仓库
- 使用
dnf
安装 Docker CE 及相关插件 - 配置非 root 用户使用 Docker,提升使用体验
- 配置镜像加速器和日志轮转,优化运行环境
- 解决常见安装和启动问题,提高系统稳定性