For the complete documentation index, see llms.txt. This page is also available as Markdown.

CentOS

CentOS(及其替代品 Rocky Linux、AlmaLinux)是企業級伺服器常用的作業系統。本節介紹在這些系統上安裝 Docker 的步驟。

企業級部署的版本選擇

值得注意的是,CentOS 8 已停止維護,CentOS 7 已停止支援。如果你正在規劃新的生產部署,強烈建議選擇 Rocky Linux 或 AlmaLinux——這兩個專案是由社群維護的 CentOS 替代品,延續了 CentOS 的企業級特性,同時提供了更長的生命週期承諾。選擇穩定的基礎系統,才能為 Docker 的長期維運奠定堅實基礎。

警告:切勿在沒有設定 Docker YUM 源的情況下直接使用 yum 命令安裝 Docker。

準備工作

安裝前請確認系統版本和核心版本滿足 Docker 的執行要求。

系統要求

嚴重警告:CentOS 7 已於 2024 年 6 月 30 日結束所有支援,不再接收任何安全更新。CentOS 8 已於 2021 年 12 月 31 日停止維護。強烈建議新專案使用 Rocky LinuxAlmaLinux 替代,這兩個專案由社群維護,提供長期支援承諾。

Docker 官方目前安裝文件覆蓋的 CentOS 平台為 CentOS Stream 9CentOS Stream 10(具體以官方 安裝文件 為準)。Rocky Linux、AlmaLinux 等 RHEL 相容發行版通常可以沿用相近步驟,但建議先在測試環境驗證倉庫與相依是否匹配。

對於 Rocky Linux、AlmaLinux 或 CentOS Stream,推薦使用 dnf 套件管理器。

解除安裝舊版本

舊版本的 Docker 稱為 docker 或者 docker-engine,使用以下命令解除安裝舊版本:

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce-cli \
                  containerd.io

使用 yum 安裝

使用 yum/dnf 安裝是管理 Docker 生命週期的標準方式。

執行以下命令安裝相依套件:

預設建議優先使用 Docker 官方倉庫;如果企業內網維護了受信任映像檔站,可自行替換倉庫 URL。

執行下面的命令新增 yum 軟體源:

如果需要測試版本的 Docker 請執行以下命令:

安裝 Docker

更新 dnf 軟體源快取,並安裝 Docker Engine 及常用 CLI 外掛。

防火牆注意事項

Docker 官方提醒:如果主機使用 ufwfirewalld 管理防火牆,容器暴露出的埠號可能繞過現有規則;同時 Docker 僅相容 iptables-nftiptables-legacy,不支援直接由 nft 建立的規則集。

因此,生產環境中更穩妥的做法是:

  • 明確使用 iptables-nftiptables-legacy 維護規則;

  • 需要限制容器流量時,優先把自訂規則寫入 DOCKER-USER 鏈;

  • 在變更防火牆策略前,先用測試容器驗證埠號暴露和東西向流量是否符合預期。

使用腳本自動安裝

在測試或開發環境中,Docker 官方提供了便捷安裝腳本,但官方明確不建議把它作為生產環境的標準安裝方式。

在真正執行前,建議先用 --dry-run 預覽腳本動作:

確認無誤後,再執行 sudo sh ./get-docker.sh 安裝穩定版。

啟動 Docker

建立 docker 使用者群組

預設情況下,docker 命令會使用 Unix socket 與 Docker 引擎通訊。而只有 root 使用者和 docker 群組的使用者才可以存取 Docker 引擎的 Unix socket。出於安全考慮,一般 Linux 系統上不會直接使用 root 使用者。因此,更好的做法是將需要使用 docker 的使用者加入 docker 使用者群組。

⚠️ 安全警告:docker 使用者群組等同於 root 權限

將使用者加入 docker 群組免去了每次執行 docker 命令時輸入 sudo 的繁瑣,但這也意味著該使用者可以輕易取得主機的最高 root 權限(例如透過掛載根目錄執行容器)。 如果你在一個多使用者共享的生產系統上設定,切勿隨意將普通使用者加入此群組。此時,更安全的替代方案是使用官方提供的 Rootless 模式 (Rootless mode),它允許在沒有任何 root 權限的情況下執行 Docker 常駐程式和容器。

建立 docker 群組:

將目前使用者加入 docker 群組:

退出目前終端機並重新登入,進行如下測試。

測試 Docker 是否安裝正確

若能正常輸出以上資訊,則說明安裝成功。

映像檔加速

如果在使用過程中發現拉取 Docker 映像檔十分緩慢,可以設定 Docker 大陸映像檔加速

新增核心參數

如果在 CentOS 使用 Docker 看到下面的這些警告資訊:

請新增核心設定參數以啟用這些功能。

然後重新載入 sysctl.conf 即可

最後更新於