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,满足不同场景的容器化管理需求。