Docker Compose 多種安裝方式,適用于不同場景(如依賴系統包管理器、使用 Python 工具鏈、集成 Docker 插件等)。以下是常見的方案,尤其針對 Alibaba Cloud Linux 3 環境適配:
一、二進制包安裝(推薦)
二進制包安裝是 Docker Compose 最常用的安裝方式之一,尤其適合需要靈活控制版本、追求最新功能的場景。這種方式通過直接下載預編譯的二進制可執行文件,無需依賴系統包管理器或其他語言環境(如 Python),操作簡潔且跨 Linux 發行版兼容(包括 Alibaba Cloud Linux 3)。
步驟:
# 查看系統架構
uname -m
# 輸出示例:x86_64(主流服務器架構)或 aarch64(ARM 架構)
# 自動獲取最新版本號(需 curl 和 grep 工具,系統通常預裝)
LATEST_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')# 輸出驗證(如 v2.24.5)
# echo $LATEST_VERSION# 下載二進制文件,適用于 x86_64 架構
sudo curl -L "https://github.com/docker/compose/releases/download/${LATEST_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 若為 ARM 架構(如 aarch64),命令相同(自動適配架構)#下載的二進制文件默認無執行權限,需通過 chmod 命令添加
sudo chmod +x /usr/local/bin/docker-compose# 查看版本號,確認安裝成功
docker-compose --version# 預期輸出(版本號可能不同):
# Docker Compose version v2.24.5
注意:
1、在獲取最新版本號時若想手動獲取,可訪問?Docker Compose Releases 頁面?查看最新標簽(如?v2.24.5
)。
2、若下載二進制文件時, GitHub 訪問緩慢,可改用阿里云鏡像加速(將 URL 替換為?https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.9.0/docker-compose-Linux-x86_64)。這是2025年9月9日阿里云鏡像最新版本,后期需要可在阿里云鏡像地址:Index of /docker-toolbox/linux/compose/中獲取最新版本地址。
3、給二進制文件增加可執行權限,這一步是核心:Linux 系統通過 “執行權限” 區分普通文件和可運行程序,添加后系統才會識別?docker-compose
?為合法命令。
優點
- 版本最新:可直接獲取官方最新版本,優先體驗新特性(如?
docker compose watch
?熱重載)。 - 跨系統兼容:不受限于系統包管理器的版本滯后問題,適用于所有 Linux 發行版。
- 無依賴:無需安裝 Python 或其他環境,獨立運行。
- 靈活控制版本:可自由選擇特定版本(如回退到舊版本解決兼容性問題)。
缺點
- 手動管理:升級需重復下載步驟,無自動更新機制。
- 依賴網絡:需聯網下載,離線環境無法使用。
適用場景
- 需使用 Docker Compose v2 最新特性的環境;
- 對版本有精確要求(如開發 / 測試特定版本兼容性);
- 系統包管理器中版本過舊(如 Alibaba Cloud Linux 3 源中僅提供 v1 版本)。
二、通過系統包管理器安裝(最便捷,適合追求穩定性的場景)
Alibaba Cloud Linux 3 基于 RHEL/CentOS 生態,可通過?dnf
?包管理器直接安裝 Docker Compose(依賴系統默認軟件源)。
步驟:
# 1. 更新軟件源緩存
sudo dnf makecache# 2. 安裝 Docker Compose(可能是 v1 版本,適合穩定需求)
sudo dnf install -y docker-compose# 3. 驗證安裝
docker-compose --version
特點:
- 優點:操作簡單,自動處理依賴,適合新手或需要快速部署的場景;
- 缺點:版本可能滯后(通常是 v1 版本,而非最新的 v2),功能可能不完整;
- 適用場景:對版本無強制要求,更看重穩定性和便捷性的環境。
三、通過 Python 包管理器(pip)安裝(適合熟悉 Python 生態的用戶)
早期的 Docker Compose(v1)是用 Python 開發的,因此可通過 Python 的?pip
?工具安裝。
步驟:
# 1. 安裝 Python 和 pip(Alibaba Cloud Linux 3 通常預裝 Python3)
sudo dnf install -y python3 python3-pip# 2. 升級 pip(可選,避免版本過低導致安裝失敗)
sudo pip3 install --upgrade pip# 3. 安裝 Docker Compose(默認安裝 v1 版本)
sudo pip3 install docker-compose# 4. 驗證安裝
docker-compose --version
特點:
- 優點:可通過?
pip3 install --upgrade docker-compose
?靈活升級版本; - 缺點:僅支持 v1 版本(v2 已改用 Go 語言開發,不支持 pip 安裝),且依賴 Python 環境;
- 適用場景:需要使用 v1 版本,或已存在 Python 環境的系統。
四、通過 Docker 官方插件(推薦,適合 Docker 生態集成)
Docker Compose v2 已作為 Docker 官方插件集成到 Docker CLI 中,可通過安裝?docker-compose-plugin
?包獲取,支持?docker compose
?命令(注意無橫線)。
步驟:
# 1. 確保已添加 Docker 官方源(參考之前的 Docker 安裝步驟)
# 2. 安裝 Docker Compose 插件
sudo dnf install -y docker-compose-plugin# 3. 驗證安裝(注意命令格式是 docker compose,無橫線)
docker compose version
特點:
- 優點:與 Docker 引擎深度集成,支持最新的 v2 版本,命令統一(
docker compose
); - 缺點:命令格式與 v1 的?
docker-compose
?略有差異(但兼容大部分語法); - 適用場景:推薦用于新環境,尤其是需要使用 v2 新特性(如?
docker compose watch
)的場景。
五、手動下載指定版本(適合需要特定版本的場景)
如果需要安裝某個特定版本(而非最新版),可手動指定版本號下載,本質是二進制包安裝的變種,但更靈活。
步驟:
# 1. 定義需要安裝的版本(例如 v2.20.3)
VERSION="v2.20.3"# 2. 下載對應版本的二進制文件
sudo curl -L "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 3. 賦予執行權限
sudo chmod +x /usr/local/bin/docker-compose# 4. 驗證安裝
docker-compose --version
特點:
- 優點:可精確控制版本,適合需要回退到舊版本或測試特定版本的場景;
- 缺點:需手動管理版本,升級時需重復操作;
- 適用場景:開發 / 測試環境,或對版本有嚴格要求的生產環境。
各方式對比與選擇建議
1、按安裝方式分類總結
安裝方式 | 支持版本 | 核心步驟 | 優點 | 缺點 | 適用場景 |
---|---|---|---|---|---|
二進制包安裝(推薦) | v2 最新版 | 1. 下載對應架構的二進制文件; 2. 賦予可執行權限( chmod +x );3. 驗證版本。 | 版本最新,支持 v2 新特性;全局可用;靈活控制版本。 | 需手動下載和管理版本;升級需重復操作。 | 需最新功能、需指定版本的生產 / 開發環境。 |
系統包管理器(dnf) | 通常為 v1 | 1. 直接通過?sudo dnf install -y docker-compose ?安裝;2. 驗證版本。 | 操作最簡單,自動處理依賴;適合新手。 | 版本滯后(多為 v1),功能可能不完整。 | 追求穩定性、快速部署,對版本無強制要求的場景。 |
Docker 官方插件 | v2 最新版 | 1. 安裝?docker-compose-plugin (sudo dnf install -y docker-compose-plugin );2. 用? docker compose ?命令驗證。 | 與 Docker 引擎深度集成;支持?docker compose ?統一命令;自動更新。 | 命令格式為?docker compose (無橫線),與 v1 略有差異(但兼容語法)。 | 新環境、需 v2 特性(如?watch ?功能)的場景。 |
Python pip 安裝 | v1 版本 | 1. 安裝 Python 和 pip; 2. 通過? pip3 install docker-compose ?安裝;3. 驗證版本。 | 可通過 pip 升級;依賴 Python 生態。 | 僅支持 v1,不支持 v2;依賴 Python 環境。 | 已有 Python 環境,且需使用 v1 版本的場景。 |
手動指定版本(二進制變種) | 任意版本 | 1. 指定版本號下載二進制文件; 2. 賦予可執行權限; 3. 驗證版本。 | 可精確控制版本(如回退舊版本)。 | 需手動管理版本,步驟略繁瑣。 | 開發 / 測試環境,需特定版本兼容性驗證的場景。 |
2、核心版本差異說明
- v1:Python 開發,命令為?
docker-compose
(有橫線),功能較基礎,逐步被淘汰。 - v2:Go 語言開發,支持?
docker-compose
(兼容)和?docker compose
(推薦,無橫線)命令,新增?watch
、profiles
?等特性,是未來主流。
3、推薦選擇建議
- 新環境 / 追求最新特性:優先選?Docker 官方插件(
docker-compose-plugin
),享受 v2 集成優勢。 - 需兼容舊腳本(依賴?
docker-compose
?命令):選?二進制包安裝(v2 版本兼容 v1 命令)。 - 快速部署 / 新手用戶:選?系統包管理器(dnf),操作最簡單(僅需一條命令)。
- 特定版本需求:選?手動指定版本(二進制),精確控制版本號。
通過以上方式,可在 Alibaba Cloud Linux 3 等系統中靈活安裝 Docker Compose,滿足不同場景的容器化管理需求。