Docker Compose 多種安裝方式 (Alibaba Cloud Linux 3 環境)

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?為合法命令。

優點

  1. 版本最新:可直接獲取官方最新版本,優先體驗新特性(如?docker compose watch?熱重載)。
  2. 跨系統兼容:不受限于系統包管理器的版本滯后問題,適用于所有 Linux 發行版。
  3. 無依賴:無需安裝 Python 或其他環境,獨立運行。
  4. 靈活控制版本:可自由選擇特定版本(如回退到舊版本解決兼容性問題)。

缺點

  1. 手動管理:升級需重復下載步驟,無自動更新機制。
  2. 依賴網絡:需聯網下載,離線環境無法使用。

適用場景

  • 需使用 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)通常為 v11. 直接通過?sudo dnf install -y docker-compose?安裝;
2. 驗證版本。
操作最簡單,自動處理依賴;適合新手。版本滯后(多為 v1),功能可能不完整。追求穩定性、快速部署,對版本無強制要求的場景。
Docker 官方插件v2 最新版1. 安裝?docker-compose-pluginsudo 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(推薦,無橫線)命令,新增?watchprofiles?等特性,是未來主流。

3、推薦選擇建議

  1. 新環境 / 追求最新特性:優先選?Docker 官方插件docker-compose-plugin),享受 v2 集成優勢。
  2. 需兼容舊腳本(依賴?docker-compose?命令):選?二進制包安裝(v2 版本兼容 v1 命令)。
  3. 快速部署 / 新手用戶:選?系統包管理器(dnf),操作最簡單(僅需一條命令)。
  4. 特定版本需求:選?手動指定版本(二進制),精確控制版本號。

通過以上方式,可在 Alibaba Cloud Linux 3 等系統中靈活安裝 Docker Compose,滿足不同場景的容器化管理需求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/pingmian/96029.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96029.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96029.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Dubbo3序列化安全機制導致的一次生產故障

前言 記錄一次 Dubbo 線上故障排查和原因分析。 線上 Dubbo 消費者啟動有錯誤日志如下,但是不影響服務啟動。 java.lang.TypeNotPresentException: Type org.example.model.ThirdParam not present ... Caused by: java.lang.ClassNotFoundException: org.example.m…

centos7 docker離線安裝

介紹 本文主要講了如何在完全沒網的情況下安裝docker(適合于高網絡安全要求的企業) 本文適用的centos版本: [root0001 temp]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 采用docker in docker下載依賴 實際試驗后&…

東京本社招聘 | 財務負責人 多個日本IT崗位(Java/C++/Python/AWS 等),IT營業同步招募

大家好,本期為大家帶來我司在東京GSD本社及其他會社千葉地區的招聘崗位。 涵蓋 財務負責人、Java開發工程師、數據中心維護工程師、項目經理、IT營業 等多個職位。 歡迎有志之士加入!🔹 財務負責人(東京本社)工作內容日…

四數之和

目錄 一:題目鏈接 二:題目思路 三:代碼實現 一:題目鏈接 理解題目需要注意,如果兩個四元組元素一一對應,則認為兩個四元組重復,選擇其中一個四元組即可。比如 [ 0 , 1 , 0 , 2] 和 [ 1 , …

【序列晉升】29 Spring Cloud Task 微服務架構下的輕量級任務調度框架

Spring Cloud Task作為微服務架構中的輕量級任務調度框架,為開發人員提供了一種構建短生命周期微服務任務的便捷方式。它允許開發者快速創建、執行和管理一次性任務或短期批處理作業,任務執行完成后自動關閉以釋放系統資源,避免了傳統長期運行…

【1分鐘速通】 HTML快速入門

HTML&#xff08;HyperText Markup Language&#xff0c;超文本標記語言&#xff09; 是構建網頁的基礎語言。它通過 標簽&#xff08;Tag&#xff09; 來描述網頁的結構和內容&#xff0c;常與 CSS&#xff08;負責樣式 – <style></style>&#xff09;和 JavaScr…

【GeoServer】WMS GetFeatureInfo URL 逐個參數解釋

我來把你構造的這個 WMS GetFeatureInfo URL 逐個參數解釋一下&#xff0c;方便你理解&#xff1a;http://127.0.0.1:8090/geoserver/xxxx/wms? SERVICEWMS& VERSION1.1.1& REQUESTGetFeatureInfo& QUERY_LAYERSloess:yourLayer& LAYERSloess:yourLayer& …

OBS直播教程:點歌直播間怎么弄?直播點歌用什么軟件?

OBS直播教程&#xff1a;點歌直播間怎么弄&#xff1f;直播點歌用什么軟件&#xff1f; 第一步&#xff1a;安裝OBS直播軟件&#xff0c;如果你電腦已經安裝了OBS&#xff0c;請直接看第二步 OBS直播軟件下載地址①&#xff1a; https://d.obscj.com/obs-Studio-29.1.3-Full-…

【數據庫】Redis詳解:內存數據庫與緩存之王

什么是Redis&#xff1f; Redis&#xff08;Remote Dictionary Server&#xff09;是一個開源的、基于內存的數據結構存儲系統&#xff0c;可以用作數據庫、緩存和消息代理。它支持多種數據結構&#xff0c;如字符串、哈希、列表、集合、有序集合等&#xff0c;具有極高的性能和…

【iOS】 單例模式

1. 認識單例模式首先讓我們先看下關于單例模式的定義&#xff08;來自于《設計模式》(Addison-Wesley,1994)&#xff09;一個類有且僅有一個實例&#xff0c;并且自行實例化向整個系統提供。如果說每一個人都是一個類&#xff0c;那么從他出生開始&#xff0c;他就是生活中的唯…

多目標輪廓匹配

前面我們使用模板匹配&#xff0c;得到的結果都是一個圖&#xff0c;那么如果我們圖片中有許多我們的目標&#xff0c;那么該如何找出來呢&#xff1f;如上我們圖片中有許多箭頭和我們的模板一致&#xff0c;只不過方向不對&#xff0c;那么該如何匹配呢&#xff1f;圖片和模板…

【C++】簡單介紹lambda表達式

各位大佬好&#xff0c;我是落羽&#xff01;一個堅持不斷學習進步的學生。 如果您覺得我的文章還不錯&#xff0c;歡迎多多互三分享交流&#xff0c;一起學習進步&#xff01; 也歡迎關注我的blog主頁: 落羽的落羽 文章目錄一、 什么是lambda表達式二、 表達式語法三、lambd…

磁共振成像原理(理論)4:自由進動和弛豫 (Free Precession and Relaxation)

當磁化自旋系統被射頻脈沖擾動而偏離其熱平衡態后&#xff0c;一旦移除外部激勵并給予足夠時間&#xff0c;系統將根據熱力學定律返回平衡態。這一過程包含三個特征現象&#xff1a; (a) 自由進動——宏觀磁化矢量 (M?\vec{M}M) 繞( B0?\vec {B_0}B0?? )場的進動&#xff1…

ubuntu 20.04 安裝spark

安裝openjdk21 下載 wget https://download.java.net/openjdk/jdk21/ri/openjdk-2135_linux-x64_bin.tar.gz解壓 tar -xvf openjdk-2135_linux-x64_bin.tar.gzsudo mv jdk-21/ /opt/jdk-21/設置環境變量 echo export JAVA_HOME/opt/jdk-21 | sudo tee /etc/profile.d/java2…

第三方區塊鏈應用測評:【多簽錢包合約安全評估_閾值簽名機制與私鑰存儲安全性測試】

閾值簽名機制安全測試密碼學審計 采用門限簽名方案&#xff08;TSS&#xff09;的多簽錢包需驗證其閾值BLS簽名或ECDSA簽名算法的正確性。測試重點包括&#xff1a;分布式密鑰生成&#xff08;DKG&#xff09;過程的保密性&#xff08;無密鑰信息泄露&#xff09;、簽名碎片驗證…

大模型處理長文檔的挑戰和解決方案?

當前&#xff0c;AI 應用正處于極速發展階段&#xff0c;大語言模型&#xff08;LLM&#xff09;與檢索增強生成&#xff08;RAG&#xff09;系統已成為構建智能問答、知識管理等高階 AI 應用的核心引擎&#xff0c;被廣泛應用于金融分析、學術研究、企業合規等多個領域。然而&…

JavaWeb--day1--HTMLCSS

(以下內容全部來自上述課程及課件) web開發介紹 1. 什么是web&#xff1f; Web&#xff1a;全球廣域網&#xff0c;也稱為萬維網&#xff0c;能夠通過瀏覽器訪問的網站。 2. Web網站的工作流程 3. Web標準 Web標準也稱為網頁標準&#xff0c;由一系列的標準組成&#xf…

OpenEuler安裝gitlab,部署gitlab-runner

目錄 一、安裝gitlab 二、安裝部署docker設置源 三、下載部署runner ?編輯 四、構建CI/CD 一、安裝gitlab 1.查看OpenEuler版本 [rootlocalhost ~]# cat /etc/os-release NAME"openEuler" VERSION"24.03 (LTS-SP1)" ID"openEuler" VERSI…

實戰項目-----在圖片 hua.png 中,用紅色畫出花的外部輪廓,用綠色畫出其簡化輪廓(ε=周長×0.005),并在同一窗口顯示

實戰項目實現以下功能&#xff1a;對圖片 hua.png 進行輪廓提取&#xff0c;并在同一窗口中完成以下兩個繪制操作&#xff1a;用紅色畫出花的外部輪廓&#xff08;即最外層輪廓&#xff09;用綠色畫出該輪廓的近似多邊形&#xff0c;其中近似精度參數 ε 設置為輪廓周長的 0.00…

開源鴻蒙北向框架開發:系統服務理論詳解

系統服務的啟動 基本可以認為&#xff1a;OpenHarmony 的系統服務進程都是“由 init 直接或間接拉起”的。 直接方式&#xff1a; init 按 /system/etc/init/.cfg 啟動可執行&#xff08;如 /system/bin/sa_main、/system/bin/samgr 等&#xff09;&#xff0c;這些進程的 PPid…