当前位置: 首页 > backend >正文

在 Rocky Linux 9.2 上使用 dnf 安装 Docker 全流程详解

文章目录

  • 在 Rocky Linux 9.2 上使用 dnf 安装 Docker 全流程详解
  • 环境介绍
  • Docker 与 Rocky Linux 兼容性
  • 安装前准备
    • 系统更新
  • 添加 Docker 官方仓库
    • 国内阿里源
  • 安装 Docker CE
  • 启动与配置 Docker
    • 配置daemon.json
    • 启动 Docker 服务
    • 验证 Docker 是否启动成功
    • 测试 Docker 是否工作正常
    • 创建软链接,支持 docker-compose 命令
  • 常见优化配置
    • 配置非 root 用户使用 Docker
    • 配置 Docker 镜像加速器(国内用户)
    • 设置日志轮转
  • 卸载 Docker 及清理
  • 常见问题
    • dnf 找不到 docker-ce 包
    • 启动 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。


安装前准备

系统更新

建议先更新系统,确保软件包是最新:

sudo dnf update -y
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
  • yum-utils 提供 dnf config-manager 工具
  • device-mapper-persistent-datalvm2 是 Docker 依赖的存储驱动包

添加 Docker 官方仓库

Rocky Linux 9 默认没有 Docker CE 包,需要添加 Docker 官方仓库:

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

[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 相关包:

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 文件,添加国内镜像源:

{"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 服务

systemctl start docker
systemctl enable docker

验证 Docker 是否启动成功

systemctl status docker

测试 Docker 是否工作正常

docker run hello-world

看到打印“Hello from Docker!”说明安装成功。

创建软链接,支持 docker-compose 命令

ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/
docker-compose version

在这里插入图片描述


常见优化配置

配置非 root 用户使用 Docker

为避免每次使用 Docker 都用 sudo,可将用户加入 docker 组:

sudo usermod -aG docker $USER

然后退出重新登录或执行:

newgrp docker

配置 Docker 镜像加速器(国内用户)

编辑或新建 /etc/docker/daemon.json 文件,添加国内镜像源:

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

然后重启 Docker:

sudo systemctl restart docker

设置日志轮转

防止 Docker 日志文件过大导致磁盘占满:

编辑 /etc/docker/daemon.json,添加日志轮转配置:

{"log-driver": "json-file","log-opts": {"max-size": "100m","max-file": "3"}
}

重启 Docker 使配置生效。


卸载 Docker 及清理

如果需要卸载 Docker:

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 包

确认仓库已添加,执行:

sudo dnf repolist

如果没有 docker-ce 仓库,重新添加:

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

启动 Docker 服务失败

检查日志:

sudo journalctl -u docker

确认内核支持 overlay2 存储驱动。


总结

  • Rocky Linux 9.2 安装 Docker 需先添加官方仓库
  • 使用 dnf 安装 Docker CE 及相关插件
  • 配置非 root 用户使用 Docker,提升使用体验
  • 配置镜像加速器和日志轮转,优化运行环境
  • 解决常见安装和启动问题,提高系统稳定性

http://www.xdnf.cn/news/17475.html

相关文章:

  • PyCATIA深度解析:基于装配截面自动化创建参考几何平面群的专业方案
  • Redis一站式指南二:主从模式高效解决分布式系统“单点问题”
  • windows运维
  • opencv:图像轮廓检测与轮廓近似(附代码)
  • 部署一个免费开源的博客系统
  • Gin 框架错误处理机制详解
  • 【Tomcat】企业级web应用服务器
  • 如何培养自己工程化的能力(python项目)
  • (LeetCode 每日一题) 869. 重新排序得到 2 的幂 (哈希表+枚举)
  • 机器学习之K-means(K-均值)算法
  • Unity3D游戏中如何制作空气墙
  • actuary notes[2]
  • Spring Boot整合knife4j实战
  • BGP综合大实验
  • 152-基于CWT-CNN-BiGRU-Attention-SABO-LSSVM对滚动轴承的故障诊断
  • iceberg安装部署
  • java报错“ NoSuchMethodError:com.test.Service.doRoomList(Ljava/lang/String;)V解决方案
  • Text2SQL 自助式数据报表开发(Chat BI)
  • “骑行热”正当时,维乐Eden ANGEL坐垫守护舒适与健康
  • Kafka 生产者与消费者分区策略全解析:从原理到实践
  • 消息队列系统测试报告
  • 一周学会Matplotlib3 Python 数据可视化-绘制条形图(Bar)
  • 【Vue✨】Vue3 中英文切换功能实现
  • java生成用户登录token
  • 人工智能-python-机器学习-模型选择与调优实战指南:从交叉验证到朴素贝叶斯分类
  • MyBatis的xml中字符串类型判空与非字符串类型判空处理方式
  • Pytorch深度学习框架实战教程12:Pytorch混合精度推理,性能加速147%的技术实现
  • 深度解析Linux设备树(DTS):设计原理、实现框架与实例分析
  • 算术运算符指南
  • 如何用分析方法解决工作中的问题?