Docker 部署 Rocky Linux 全流程教程
Rocky Linux 作為 CentOS 停更后的最優替代方案,與 RHEL 完全兼容且提供 10 年長期支持,是企業級服務器部署的首選。而通過 Docker 部署,能徹底解決傳統部署中“環境不一致、遷移繁瑣、版本管理混亂”等痛點,尤其適合遺留 CentOS 系統遷移、企業級服務搭建等場景。下面結合軒轅鏡像平臺特性,帶大家完成從環境準備到部署驗證的全流程。
關于 Rocky Linux
1. Rocky Linux 核心價值
作為 CentOS 創始人發起的社區發行版,其核心競爭力集中在三點:
- 兼容性拉滿:基于 RHEL 源代碼構建,移除品牌標識后與 RHEL 功能 1:1 匹配,原 CentOS 上的應用可無縫遷移,無需修改配置
- 長期穩定支持:每個版本提供 10 年安全更新,比如 Rocky Linux 8 支持到 2029 年,9 支持到 2032 年,遠超普通發行版
- 多架構適配:原生支持 amd64、arm64v8、ppc64le、s390x 等架構,覆蓋物理機、云服務器、嵌入式設備等全場景
2. Docker 部署 Rocky Linux 核心優勢
對比傳統的光盤安裝或 ISO 部署,Docker 方式的優勢更貼合現代運維需求:
- 環境一致性:鏡像已打包完整依賴,從開發機到生產服務器,只要能運行 Docker 就能“開箱即用”,避免“本地跑通、線上報錯”
- 輕量高效:容器僅占用進程級資源,比虛擬機節省 80% 以上內存,Rocky Linux 基礎鏡像僅 200MB 左右,啟動耗時不超過 3 秒
- 版本隔離:可同時運行 Rocky Linux 8 和 9 兩個版本容器,分別部署不同版本依賴的應用,互不干擾
- 快速遷移:通過鏡像導出/導入,3 分鐘即可完成跨服務器遷移,比傳統“重裝系統+配置環境”效率提升 10 倍
- 簡化管理:用 Docker 命令即可實現啟停、備份、更新,新手也能快速上手,無需掌握復雜的 Linux 裝機流程
?? 準備工作
部署前需確保系統已安裝 Docker 環境,未安裝的用戶可按以下步驟操作:
Linux Docker & Docker Compose 一鍵安裝
推薦使用軒轅鏡像提供的一鍵安裝腳本,支持 CentOS、Ubuntu、Debian 等主流發行版,自動配置鏡像加速源:
# 一鍵安裝 Docker 及 Docker Compose
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
驗證安裝結果
執行以下命令,若輸出 Docker 和 Docker Compose 版本信息,說明安裝成功:
docker --version && docker compose --version
示例輸出(版本號可能不同,正常):
Docker version 27.0.3, build 7d4bcd8
Docker Compose version v2.20.2
1. 查看并拉取 Rocky Linux 鏡像
Rocky Linux 鏡像已同步至軒轅鏡像平臺,支持多版本和精簡版,可根據需求選擇拉取方式:
1.1 鏡像信息查詢
先訪問軒轅鏡像平臺的 Rocky Linux 詳情頁,查看標簽、更新記錄等信息:
?? 軒轅鏡像 Rocky Linux 頁面
關鍵提示:無 latest 標簽,需指定主版本號(8 或 9),推薦優先選擇 9 版本(最新穩定版);同時提供 minimal 精簡版(僅含基礎依賴,體積更?。?。
1.2 多種拉取方式(按需選擇)
方式 1:軒轅鏡像免登錄拉?。ㄍ扑]新手)
無需配置賬戶,直接拉取最新穩定版(以 9 版本為例):
# 拉取 Rocky Linux 9 基礎版
docker pull xxx.xuanyuan.run/library/rockylinux:9
# 若需精簡版,拉取 minimal 標簽
docker pull xxx.xuanyuan.run/library/rockylinux:9-minimal
方式 2:軒轅鏡像登錄拉?。ㄆ髽I用戶)
已注冊軒轅鏡像平臺的用戶,可通過登錄方式拉取:
# 登錄軒轅鏡像(首次使用需輸入用戶名密碼)
docker login docker.xuanyuan.run
# 拉取 Rocky Linux 8 版本(適配舊應用)
docker pull docker.xuanyuan.run/library/rockylinux:8
方式 3:官方 Docker Hub 拉?。ǐ@取最新鏡像)
因技術限制,軒轅鏡像可能未同步最新鏡像,需最新版本可直接從官方倉庫拉?。?/p>
# 官方倉庫拉取 Rocky Linux 9
docker pull rockylinux/rockylinux:9
方式 4:拉取后重命名(簡化后續命令)
若拉取地址較長,可重命名為簡潔標簽:
# 將軒轅鏡像拉取的鏡像重命名為 rockylinux:9
docker tag xxx.xuanyuan.run/library/rockylinux:9 rockylinux:9
# 刪除原標簽(可選,節省空間)
docker rmi xxx.xuanyuan.run/library/rockylinux:9
1.3 驗證拉取結果
執行以下命令,若能看到 Rockylinux 鏡像信息,說明拉取成功:
docker images | grep rockylinux
示例輸出:
REPOSITORY TAG IMAGE ID CREATED SIZE
rockylinux 9 7f277199191f 2 weeks ago 205MB
rockylinux 9-minimal 8a3f8d44444c 2 weeks ago 110MB
2. 部署 Rocky Linux 實戰
結合不同使用場景,本文提供從“快速測試”到“企業級部署”的完整方案,均基于 Rocky Linux 9 版本演示。
2.1 快速部署
適合臨時驗證環境、學習 Linux 命令等場景,一鍵啟動交互式容器:
# 啟動容器并進入命令行,命名為 rocky-test
docker run -it --name rocky-test rockylinux:9 /bin/bash
核心參數說明
-it:交互式運行,保持終端連接(能直接在容器內輸入命令)--name rocky-test:給容器起固定名稱,后續管理更方便/bin/bash:啟動后默認進入 Bash 命令行
基礎操作演示
進入容器后,可執行以下命令驗證環境:
# 查看系統版本(確認是 Rocky Linux 9)
cat /etc/rocky-release
# 安裝基礎工具(測試包管理器)
dnf install -y wget vim
# 退出容器(臨時退出保留容器:Ctrl+P+Q;完全退出停止容器:exit)
2.2 掛載目錄部署(推薦生產場景)
通過宿主機目錄掛載,實現“數據持久化、配置獨立管理、日志分離”,避免容器銷毀后數據丟失。
第一步:創建宿主機掛載目錄
根據實際需求創建數據、配置、日志目錄(路徑可自定義):
# 一次性創建三個核心目錄
mkdir -p /data/rocky/{data,conf,logs}
# 給目錄授權(避免容器內權限不足)
chmod -R 777 /data/rocky
第二步:啟動容器并掛載目錄
docker run -d --name rocky-prod \
-p 2222:22 \ # 映射 SSH 端口(如需遠程連接容器)
-p 8080:80 \ # 映射 HTTP 端口(后續部署服務用)
-v /data/rocky/data:/var/data \ # 數據目錄掛載
-v /data/rocky/conf:/etc/custom \ # 自定義配置目錄掛載
-v /data/rocky/logs:/var/log/custom \ # 日志目錄掛載
-e TZ=Asia/Shanghai \ # 設置時區(解決容器時區偏差)
rockylinux:9 \
# 后臺運行命令(確保容器不退出)
/bin/bash -c "dnf install -y crond && crond -n"
目錄映射說明
| 宿主機目錄 | 容器內目錄 | 核心用途 |
|---|---|---|
/data/rocky/data |
/var/data |
存放業務數據(如數據庫文件) |
/data/rocky/conf |
/etc/custom |
存放自定義配置文件 |
/data/rocky/logs |
/var/log/custom |
存放應用日志 |
進入運行中的容器
部署后如需操作容器,執行以下命令:
# 進入已啟動的 rocky-prod 容器
docker exec -it rocky-prod /bin/bash
2.3 Docker Compose 部署(企業級批量管理)
適合多服務組合場景(如 Rocky Linux + Nginx + MySQL),通過配置文件統一管理,支持一鍵啟停。
第一步:創建 docker-compose.yml 配置文件
在任意目錄創建配置文件(推薦放在 /data/rocky-compose 目錄):
version: '3.8' # 適配 Docker Compose 新版本
services:
rocky:
image: rockylinux:9 # 使用的鏡像
container_name: rocky-service # 容器名稱
ports:
- "2222:22"
- "8080:80"
volumes:
- ./data:/var/data
- ./conf:/etc/custom
- ./logs:/var/log/custom
environment:
- TZ=Asia/Shanghai # 時區配置
- LANG=en_US.UTF-8 # 字符集配置
restart: always # 容器故障自動重啟(保障高可用)
command: /bin/bash -c "dnf install -y openssh-server && /usr/sbin/sshd -D" # 啟動 SSH 服務
第二步:創建配套目錄并啟動
# 1. 創建與配置文件對應的目錄
mkdir -p /data/rocky-compose/{data,conf,logs}
cd /data/rocky-compose
# 2. 啟動服務(后臺運行)
docker compose up -d
# 3. 常用管理命令
docker compose ps # 查看服務狀態
docker compose stop # 停止服務
docker compose down # 停止并刪除容器
docker compose logs -f # 實時查看日志
3. 部署結果驗證
通過以下方式確認 Rocky Linux 容器正常運行:
3.1 基礎狀態驗證
# 查看容器是否在運行(STATUS 列顯示 Up 即為正常)
docker ps | grep rocky
# 查看容器資源占用(確認內存、CPU 使用正常)
docker stats rocky-prod
3.2 環境功能驗證
# 1. 進入容器
docker exec -it rocky-prod /bin/bash
# 2. 驗證包管理器(Rocky Linux 9 默認用 dnf)
dnf update -y # 更新系統包
dnf install -y nginx # 安裝 Nginx 測試
# 3. 驗證掛載目錄(在容器內創建文件,宿主機查看是否同步)
echo "test data" > /var/data/test.txt
exit # 退出容器
# 4. 宿主機查看文件(確認掛載生效)
cat /data/rocky/data/test.txt
3.3 服務訪問驗證
若部署時映射了 80 端口并安裝了 Nginx,可通過瀏覽器或 curl 驗證:
# 宿主機訪問容器內 Nginx
curl http://127.0.0.1:8080
若輸出 Nginx 歡迎頁內容,說明服務部署成功。
4. 常見問題排查
4.1 拉取鏡像時提示“無 latest 標簽”
原因:Rocky Linux 官方未提供 latest 標簽,需指定具體版本。
解決方案:用 rockylinux:9 或 rockylinux:8 替代 latest,例如:
docker pull rockylinux/rockylinux:9
4.2 精簡版(minimal)無法使用 dnf 命令
原因:minimal 版本默認只安裝 microdnf 輕量包管理器。
解決方案:直接使用 microdnf 或安裝 dnf:
# 用 microdnf 安裝軟件
microdnf install -y vim
# 或安裝完整 dnf(適合長期使用)
microdnf install -y dnf
4.3 容器內時區顯示錯誤(與本地時差 8 小時)
解決方案:啟動時添加時區環境變量,或進入容器后手動修改:
# 啟動時指定時區(推薦)
docker run -d -e TZ=Asia/Shanghai --name rocky-test rockylinux:9
# 已啟動容器修改時區(臨時方案)
docker exec -it rocky-test /bin/bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date # 驗證時區
4.4 掛載目錄后提示“權限被拒絕”
原因:宿主機目錄權限不足,容器內用戶無讀寫權限。
解決方案:給宿主機目錄授權,或啟動時指定 root 用戶:
# 1. 宿主機授權
chmod -R 777 /data/rocky
# 2. 或啟動時指定 root 用戶
docker run -d -u root --name rocky-prod -v /data/rocky:/var/data rockylinux:9
4.5 dnf 安裝軟件時速度慢
解決方案:替換為國內鏡像源(以阿里云為例):
# 進入容器后執行
echo -e "[base]\nname=Rocky Linux \$releasever - Base - mirrors.aliyun.com\nbaseurl=http://mirrors.aliyun.com/rocky/\$releasever/BaseOS/\$basearch/os/\ngpgcheck=1\ngpgkey=http://mirrors.aliyun.com/rocky/RPM-GPG-KEY-Rocky-9" > /etc/yum.repos.d/base.repo
dnf clean all && dnf makecache
結尾
至此,你已掌握 Rocky Linux 的 Docker 部署全流程——從鏡像拉取的多種方案,到適配不同場景的部署實戰,再到常見問題的解決辦法,每個步驟都貼合實際運維需求。
對于新手,建議先從“快速部署”熟悉 Rocky Linux 環境,再嘗試“掛載目錄”方案理解持久化的重要性;企業用戶推薦直接使用“Docker Compose 部署”,配合鏡像加速和國內源優化,可支撐生產級服務運行。

Rocky Linux 作為 CentOS 停更后的最優替代方案,與 RHEL 完全兼容且提供 10 年長期支持,是企業級服務器部署的首選。而通過 Docker 部署,能徹底解決傳統部署中“環境不一致、遷移繁瑣、版本管理混亂”等痛點,尤其適合遺留 CentOS 系統遷移、企業級服務搭建等場景。
浙公網安備 33010602011771號