站点图标 神之眼的博客

在Rocky Linux 10.1 服务器上配置 Docker

當前文章的短網址連結為: https://unos.top/t88s

⚠️ 关键前提:安装 kernel-modules-extra

对于 Rocky Linux 10 的最小化安装 (Minimal Install) 版本,需额外安装 kernel-modules-extra 包,否则 Docker 服务可能因缺少 iptables 相关内核模块而启动失败

sudo dnf install -y kernel-modules-extra
sudo reboot  # 安装后重启系统
C#

但是我的提示已经安装了

sudo dnf install -y kernel-modules-extra
[sudo] xxx 的密码:
上次元数据过期检查:0:04:43 前,执行于 2026年04月18日 星期六 22时15分17秒。
软件包 kernel-modules-extra-6.12.0-124.38.1.el10_1.aarch64 已安装。
软件包 kernel-modules-extra-6.12.0-124.45.1.el10_1.aarch64 已安装。
软件包 kernel-modules-extra-6.12.0-124.49.1.el10_1.aarch64 已安装。
依赖关系解决。
无需任何处理。
完毕!
C#

🚀 详细安装步骤

1. 更新系统并安装必要工具

首先,更新所有系统软件包,并安装 dnf-plugins-core 等必要工具。

sudo dnf update -y
sudo dnf install -y dnf-plugins-core
C#

2. 添加 Docker 官方仓库

使用以下命令将 Docker 官方仓库添加到你的系统中。

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

3. 安装 Docker Engine 及插件

执行以下命令安装 Docker Engine、命令行工具、containerd 运行时,以及 docker-buildx-plugin 和 docker-compose-plugin 插件。2026年4月测试时,Docker CE 版本为 29.4.0,Docker Compose 插件版本为 v5.1.1

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
C#
已安装:
  containerd.io-2.2.3-1.el10.aarch64                                             
  docker-buildx-plugin-0.33.0-1.el10.aarch64                                     
  docker-ce-3:29.4.0-1.el10.aarch64                                              
  docker-ce-cli-1:29.4.0-1.el10.aarch64                                          
  docker-ce-rootless-extras-29.4.0-1.el10.aarch64                                
  docker-compose-plugin-5.1.3-1.el10.aarch64                                     
  fuse-overlayfs-1.16-1.el10_1.aarch64                                           
C#

4. 启动 Docker 并设置开机自启

安装完成后,启动 Docker 服务并配置为开机自启动。

sudo systemctl enable --now docker
C#

5. 验证安装结果

运行以下命令,确认 Docker 已正确安装且服务正在运行。

sudo systemctl status docker  # 应显示 active (running) 
docker --version
docker compose version
C#

验证结果

~$ sudo systemctl status docker

● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: di>
     Active: active (running) since Sat 2026-04-18 22:31:21 -03; 2min 6s ago
 Invocation: b7d3b86f3b3a4a8fb5d97243806360a0
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 23011 (dockerd)
      Tasks: 9
     Memory: 31.4M (peak: 32M)
        CPU: 133ms
     CGroup: /system.slice/docker.service
             └─23011 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont>
C#

6. 配置非 root 用户权限(可选)

将你的用户添加到 docker 用户组,之后运行 Docker 命令时就不再需要 sudo 了

# 创建 docker 组(通常已存在,可跳过)
sudo groupadd docker

# 将你的用户加入 docker 组(替换 $USER 或 直接写用户名)
sudo usermod -aG docker $USER
newgrp docker

# 测试是否配置成功
docker run hello-world
C#

⚙️ 核心优化配置

1. 配置镜像加速与日志管理(可选,在中国可能需要)

编辑 Docker 守护进程配置文件 /etc/docker/daemon.json,设置镜像加速器和日志轮转策略。配置后需执行 sudo systemctl restart docker 使其生效

{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
C#

说明:在中国,推荐使用 轩辕镜像 和 中科大镜像。阿里云等云服务商也提供专属加速地址,可在其控制台获取。

2. 配置防火墙 (firewalld)

如果你的容器需要对外暴露端口,需要在防火墙中添加规则。

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
C#

💎 总结

完成以上步骤,Docker 已在 Rocky Linux 10.1 上成功安装并完成核心优化。

退出移动版