您已经在运行 Docker,也熟悉基本命令,但是否厌倦了一个接一个地启动容器?
Docker Compose 是一款工具,可让您通过一个 YAML 文件定义并运行多容器应用程序。让人困惑的是,目前有两个版本:旧的独立二进制文件(v1)和较新的 CLI 插件(v2)。大多数安装文章不会说明使用的是哪个版本,导致您按照与自己环境不匹配的步骤操作。
Docker Compose v2 是随现代 Docker 一起提供的插件,这极大简化了安装、运行和验证流程。过程不再像以前那样需要大量手动操作。
本文将带您以正确方式在 Linux、macOS 和 Windows 上安装 Docker Compose——使用 v2。
刚接触虚拟化与容器化概念?请阅读我们的 Docker 入门一文进行上手练习。
安装 Docker Compose 之前
首先,您需要在机器上安装 Docker Engine。Docker Compose 不是独立运行的——它需要依赖 Docker。
运行以下命令检查 Docker 版本:
docker --version技术支持

已安装的 Docker 版本
如果 尚未安装 Docker,请先暂停并完成安装。如果已安装,您可以检查是否已可用 Compose:
docker compose version技术支持

已安装的 Docker Compose 版本
如果返回版本号,说明已完成——Compose v2 已随 Docker 安装打包提供。您可以直接跳至验证部分。
如果返回通用的“找不到命令”提示,请继续阅读。
以下是您需要了解的关键区别:
如果您的 Docker 安装较新,几乎可以肯定已经具备 v2。本文其余部分均以 v2 为前提。
在 Linux 上安装 Docker Compose
在 Linux 上,您有两种方式获取 Docker Compose。第一种使用 Docker 官方软件源——推荐路径。第二种是手动安装,适用于无法使用包管理器或需要特定版本的情况。
方法一:使用 Docker 官方软件源(推荐)
此方法让 Compose 与 Docker 安装绑定,更新可保持同步。
如果尚未安装 Docker Engine,请先设置 Docker 官方的 apt 软件源:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update技术支持
现在一起安装 Docker Engine 和 Compose 插件:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin技术支持
docker-compose-plugin 软件包为您提供了 docker compose CLI 命令。验证其是否可用:
docker compose version技术支持

Ubuntu 虚拟机上的 Docker Compose 版本
就是这样。
方法二:手动安装(独立二进制)
当您需要特定版本的 Compose,或环境不支持使用 Docker 软件源时,请使用此方法。
先从 GitHub 直接下载最新发行版。将 v5.0.1 替换为您需要的版本:
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose技术支持
赋予二进制可执行权限:
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose技术支持
最后,验证安装:
docker compose version技术支持

Ubuntu 虚拟机上的 Docker Compose 版本
唯一需要记住的是,手动安装不会自动更新。如果您安装了一个二进制后就不再管它,可能会长时间运行带有已知漏洞或安全问题的过时版本。如果选择此路径,请养成不时查看 Docker Compose 发布页的习惯。
在 macOS 上安装 Docker Compose
在 macOS 上,无需单独安装 Docker Compose——它随 Docker Desktop 一起提供。
从 Docker 官方网站下载 Docker Desktop。请务必选择与您的芯片匹配的版本——Apple Silicon(M1-M5)或 Intel。
安装完成后,打开 Docker Desktop 并等待其启动完成。然后运行以下命令验证 Compose 是否可用:
docker compose version技术支持

macOS 上的 Docker Compose 版本
完成。Compose v2 已就绪。
可选:通过 Homebrew 安装
如果您更喜欢用 Homebrew 管理工具且不需要完整的 Docker Desktop 图形界面,可通过它安装 Docker 和 Compose:
brew install docker
brew install docker-compose技术支持
如果选择此路径,请注意 Homebrew 会在没有 Desktop 应用的情况下安装 Docker Engine。对此类 CLI 使用场景没有问题,但您将缺少 Docker Dashboard 和自动更新等功能。对多数 macOS 用户而言,Docker Desktop 更为省心。
在 Windows 上安装 Docker Compose
与 macOS 一样,Windows 通过 Docker Desktop 自动获得 Docker Compose。无需单独安装。
在安装 Docker Desktop 之前,您需要启用 WSL2(Windows Subsystem for Linux 2)。WSL2 让 Docker 能在 Windows 上运行原生 Linux 内核,这是该平台运行容器的方式。要启用它,请以管理员身份打开 PowerShell 并运行:
wsl --install技术支持
根据提示重启机器。然后从 Docker 官方网站下载并安装 Docker Desktop。
安装期间,请确保勾选“Use WSL2 instead of Hyper-V”选项。Docker Desktop 运行后,验证 Compose 是否可用——可在 PowerShell 或 WSL 终端中进行:
docker compose version技术支持
常见权限问题
如果遇到“permission denied”错误,通常有以下两种情况:
- Docker Desktop 未运行。必须先在系统托盘中处于活动状态,任何
docker 命令才会生效。
- 您的用户不在正确的用户组中。 在 WSL 中,请确保 Linux 用户有权访问 Docker 套接字。您可以通过以管理员身份运行 WSL 终端,或将用户添加到 WSL 内的
docker 组来解决:
sudo usermod -aG docker $USER技术支持
随后退出并重新登录 WSL,使更改生效。
验证 Docker Compose 安装
安装好 Docker Compose 后,运行以下命令确认一切正常:
docker compose version技术支持
您应会看到类似如下输出:

已安装的 Compose 版本
具体版本号会因阅读时间而异,但只要看到 v5.0.1 或更新版本,即可。
如果看到 docker compose: command not found,说明未安装 Compose 或未在 PATH 中。请跳至下方故障排除部分。
docker compose 与 docker-compose 的区别
您可能会注意到一些在线文章使用带连字符的 docker-compose。区别如下:
Docker 已于 2023 年停止支持 v1,因此 docker-compose 不再维护。如果您仍安装了它,可以检查对应的版本:
docker-compose --version技术支持
如果返回 1.x.x 版本,说明您在运行旧的二进制。请卸载它,并在今后使用 docker compose。两者命令几乎一致,但 v2 更快且在持续维护。
升级 Docker Compose
如何升级 Compose 取决于您的安装方式。
在 macOS 和 Windows 上,由 Docker Desktop 全权管理,您只需打开应用,进入 Settings > Software Updates,按需更新即可。Compose 会与 Docker 一同自动升级。
在使用包管理器的 Linux 上,运行如下命令:
sudo apt-get update
sudo apt-get upgrade docker-compose-plugin技术支持
这会从 Docker 官方软件源获取最新版本。
如果是手动安装,您需要使用新版本号重复下载步骤。请查看 Docker Compose 发布页了解最新版本,然后替换二进制:
curl -SL https://github.com/docker/compose/releases/download/v5.0.2/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose技术支持
任何升级后,验证新版本是否生效:
docker compose version技术支持
就这些。
卸载 Docker Compose
卸载步骤取决于您最初的安装方式。
如果是在 Linux 上通过包管理器安装,请用以下命令移除插件:
sudo apt-get remove docker-compose-plugin技术支持
如果是手动安装,只需删除二进制文件:
rm $DOCKER_CONFIG/cli-plugins/docker-compose技术支持
如果系统上仍有旧版 v1 的独立二进制,可用以下命令查找并删除:
sudo rm /usr/local/bin/docker-compose技术支持
删除后,运行 docker compose version 再次确认。如果命令返回错误,说明卸载成功。
常见安装问题
安装与卸载 Docker Compose 很简单,但仍可能出现问题。以下是可能遇到的问题及其解决方法。
“docker compose: command not found”
这意味着要么未安装 Compose,要么 Docker 找不到它。首先确认 Docker 本身在运行:
docker --version技术支持
如果 Docker 正常而 Compose 缺失,只需重新安装插件:
sudo apt-get install docker-compose-plugin技术支持
权限被拒绝错误
如果运行 docker compose 时出现权限被拒绝错误,通常是您的用户没有访问 Docker 套接字的权限。将自己加入 docker 组:
sudo usermod -aG docker $USER技术支持
注销并重新登录以使更改生效。在 Docker Desktop(macOS/Windows)上,请确保应用实际在运行后再尝试任何命令。
版本不匹配
如果 Compose 行为异常,请检查您确实在运行哪个版本:
docker compose version技术支持
如果版本过旧,请按照前文的升级步骤操作。如果同时安装了 v1 和 v2,这很可能就是混乱的根源。
v1 与 v2 冲突
同一台机器同时存在 docker-compose(v1)和 docker compose(v2)可能导致冲突。用以下命令检查 v1 是否仍存在:
which docker-compose技术支持
如果返回路径,请将其删除:
sudo rm $(which docker-compose)技术支持
今后请使用 docker compose(不带连字符)。
PATH 问题
如果已安装 Docker,但提示找不到命令,可能是 CLI 插件目录未在 PATH 中。先检查 Compose 二进制所在位置:
ls $DOCKER_CONFIG/cli-plugins/技术支持
如果文件存在但仍无法使用,请将该目录加入您的 PATH(在 ~/.bashrc 或 ~/.zshrc 中):
export PATH=$PATH:$HOME/.docker/cli-plugins技术支持
然后通过运行以下命令重新加载 Shell:
source ~/.bashrc技术支持
Docker Compose v1 与 v2
如果您使用 Docker 已有一段时间,可能在文章和视频中都见过 docker-compose 与 docker compose。它们并非同一事物。
Docker Compose v1 是独立的 Python 二进制,需与 Docker 分开安装。其命令为 docker-compose(带连字符)。Docker 已于 2023 年弃用该版本,不再维护或更新。
Docker Compose v2 是用 Go 编写、直接内置于 Docker CLI 的插件。通过 docker compose(不带连字符)调用。它随 Docker Engine 和 Docker Desktop 提供,因此在现代环境中无需额外安装。
两者的命令语法几乎一致——大多数 docker-compose 命令在 docker compose 中用法相同。主要区别在底层:v2 更快、与 Docker 工具链集成更紧密、且在持续维护。
下面是对比:

Compose v1 与 v2 对比表
在 2026 年,请坚持使用 v2。如果您的脚本或 CI 流水线仍使用 docker-compose,将连字符替换为空格即可——对于大多数工作流,这就是唯一需要的更改。
总结
如果您使用的是现代 Docker 安装,Compose v2 已经就位,无需额外步骤。在 macOS 和 Windows 上,Docker Desktop 自带 Compose;在 Linux 上,则由 docker-compose-plugin 软件包提供。
在开始编写或运行 Compose 文件之前,请运行 docker compose version 确认一切已就绪。
如果您仍在使用 Compose v1,现在就是切换的好时机。去掉连字符并移除旧二进制——这就是全部。您现有的 Compose 文件可在 v2 中原样运行。
想了解更多 Docker 资源?报名我们的 Docker 入门课程,学习容器、镜像等内容。
您已经在运行 Docker,也熟悉基本命令,但是否厌倦了一个接一个地启动容器?
Docker Compose 是一款工具,可让您通过一个 YAML 文件定义并运行多容器应用程序。让人困惑的是,目前有两个版本:旧的独立二进制文件(v1)和较新的 CLI 插件(v2)。大多数安装文章不会说明使用的是哪个版本,导致您按照与自己环境不匹配的步骤操作。
Docker Compose v2 是随现代 Docker 一起提供的插件,这极大简化了安装、运行和验证流程。过程不再像以前那样需要大量手动操作。
本文将带您以正确方式在 Linux、macOS 和 Windows 上安装 Docker Compose——使用 v2。
刚接触虚拟化与容器化概念?请阅读我们的 Docker 入门一文进行上手练习。
安装 Docker Compose 之前
首先,您需要在机器上安装 Docker Engine。Docker Compose 不是独立运行的——它需要依赖 Docker。
运行以下命令检查 Docker 版本:
已安装的 Docker 版本
如果 尚未安装 Docker,请先暂停并完成安装。如果已安装,您可以检查是否已可用 Compose:
已安装的 Docker Compose 版本
如果返回版本号,说明已完成——Compose v2 已随 Docker 安装打包提供。您可以直接跳至验证部分。
如果返回通用的“找不到命令”提示,请继续阅读。
以下是您需要了解的关键区别:
Docker Compose v1 是旧版的独立二进制。通过
docker-compose(带连字符)调用。它已被弃用且不再维护。Docker Compose v2 是随现代 Docker 提供的 CLI 插件。通过
docker compose(不带连字符)调用。如果您的 Docker 安装较新,几乎可以肯定已经具备 v2。本文其余部分均以 v2 为前提。
在 Linux 上安装 Docker Compose
在 Linux 上,您有两种方式获取 Docker Compose。第一种使用 Docker 官方软件源——推荐路径。第二种是手动安装,适用于无法使用包管理器或需要特定版本的情况。
方法一:使用 Docker 官方软件源(推荐)
此方法让 Compose 与 Docker 安装绑定,更新可保持同步。
如果尚未安装 Docker Engine,请先设置 Docker 官方的
apt软件源:现在一起安装 Docker Engine 和 Compose 插件:
docker-compose-plugin软件包为您提供了docker composeCLI 命令。验证其是否可用:Ubuntu 虚拟机上的 Docker Compose 版本
就是这样。
方法二:手动安装(独立二进制)
当您需要特定版本的 Compose,或环境不支持使用 Docker 软件源时,请使用此方法。
先从 GitHub 直接下载最新发行版。将
v5.0.1替换为您需要的版本:赋予二进制可执行权限:
最后,验证安装:
Ubuntu 虚拟机上的 Docker Compose 版本
唯一需要记住的是,手动安装不会自动更新。如果您安装了一个二进制后就不再管它,可能会长时间运行带有已知漏洞或安全问题的过时版本。如果选择此路径,请养成不时查看 Docker Compose 发布页的习惯。
在 macOS 上安装 Docker Compose
在 macOS 上,无需单独安装 Docker Compose——它随 Docker Desktop 一起提供。
从 Docker 官方网站下载 Docker Desktop。请务必选择与您的芯片匹配的版本——Apple Silicon(M1-M5)或 Intel。
安装完成后,打开 Docker Desktop 并等待其启动完成。然后运行以下命令验证 Compose 是否可用:
macOS 上的 Docker Compose 版本
完成。Compose v2 已就绪。
可选:通过 Homebrew 安装
如果您更喜欢用 Homebrew 管理工具且不需要完整的 Docker Desktop 图形界面,可通过它安装 Docker 和 Compose:
如果选择此路径,请注意 Homebrew 会在没有 Desktop 应用的情况下安装 Docker Engine。对此类 CLI 使用场景没有问题,但您将缺少 Docker Dashboard 和自动更新等功能。对多数 macOS 用户而言,Docker Desktop 更为省心。
在 Windows 上安装 Docker Compose
与 macOS 一样,Windows 通过 Docker Desktop 自动获得 Docker Compose。无需单独安装。
在安装 Docker Desktop 之前,您需要启用 WSL2(Windows Subsystem for Linux 2)。WSL2 让 Docker 能在 Windows 上运行原生 Linux 内核,这是该平台运行容器的方式。要启用它,请以管理员身份打开 PowerShell 并运行:
根据提示重启机器。然后从 Docker 官方网站下载并安装 Docker Desktop。
安装期间,请确保勾选“Use WSL2 instead of Hyper-V”选项。Docker Desktop 运行后,验证 Compose 是否可用——可在 PowerShell 或 WSL 终端中进行:
常见权限问题
如果遇到“permission denied”错误,通常有以下两种情况:
docker命令才会生效。docker组来解决:随后退出并重新登录 WSL,使更改生效。
验证 Docker Compose 安装
安装好 Docker Compose 后,运行以下命令确认一切正常:
您应会看到类似如下输出:
已安装的 Compose 版本
具体版本号会因阅读时间而异,但只要看到
v5.0.1或更新版本,即可。如果看到
docker compose: command not found,说明未安装 Compose 或未在 PATH 中。请跳至下方故障排除部分。docker compose 与 docker-compose 的区别
您可能会注意到一些在线文章使用带连字符的
docker-compose。区别如下:docker-compose是旧版 v1 命令。它是独立的 Python 二进制,需要与 Docker 分开安装。docker compose(不带连字符)是v2 CLI 插件,直接内置于 Docker CLI。Docker 已于 2023 年停止支持 v1,因此
docker-compose不再维护。如果您仍安装了它,可以检查对应的版本:如果返回
1.x.x版本,说明您在运行旧的二进制。请卸载它,并在今后使用docker compose。两者命令几乎一致,但 v2 更快且在持续维护。升级 Docker Compose
如何升级 Compose 取决于您的安装方式。
在 macOS 和 Windows 上,由 Docker Desktop 全权管理,您只需打开应用,进入 Settings > Software Updates,按需更新即可。Compose 会与 Docker 一同自动升级。
在使用包管理器的 Linux 上,运行如下命令:
这会从 Docker 官方软件源获取最新版本。
如果是手动安装,您需要使用新版本号重复下载步骤。请查看 Docker Compose 发布页了解最新版本,然后替换二进制:
任何升级后,验证新版本是否生效:
就这些。
卸载 Docker Compose
卸载步骤取决于您最初的安装方式。
如果是在 Linux 上通过包管理器安装,请用以下命令移除插件:
如果是手动安装,只需删除二进制文件:
如果系统上仍有旧版 v1 的独立二进制,可用以下命令查找并删除:
删除后,运行
docker compose version再次确认。如果命令返回错误,说明卸载成功。常见安装问题
安装与卸载 Docker Compose 很简单,但仍可能出现问题。以下是可能遇到的问题及其解决方法。
“docker compose: command not found”
这意味着要么未安装 Compose,要么 Docker 找不到它。首先确认 Docker 本身在运行:
如果 Docker 正常而 Compose 缺失,只需重新安装插件:
权限被拒绝错误
如果运行
docker compose时出现权限被拒绝错误,通常是您的用户没有访问 Docker 套接字的权限。将自己加入docker组:注销并重新登录以使更改生效。在 Docker Desktop(macOS/Windows)上,请确保应用实际在运行后再尝试任何命令。
版本不匹配
如果 Compose 行为异常,请检查您确实在运行哪个版本:
如果版本过旧,请按照前文的升级步骤操作。如果同时安装了 v1 和 v2,这很可能就是混乱的根源。
v1 与 v2 冲突
同一台机器同时存在
docker-compose(v1)和docker compose(v2)可能导致冲突。用以下命令检查 v1 是否仍存在:如果返回路径,请将其删除:
今后请使用
docker compose(不带连字符)。PATH 问题
如果已安装 Docker,但提示找不到命令,可能是 CLI 插件目录未在 PATH 中。先检查 Compose 二进制所在位置:
如果文件存在但仍无法使用,请将该目录加入您的 PATH(在
~/.bashrc或~/.zshrc中):然后通过运行以下命令重新加载 Shell:
Docker Compose v1 与 v2
如果您使用 Docker 已有一段时间,可能在文章和视频中都见过
docker-compose与docker compose。它们并非同一事物。Docker Compose v1 是独立的 Python 二进制,需与 Docker 分开安装。其命令为
docker-compose(带连字符)。Docker 已于 2023 年弃用该版本,不再维护或更新。Docker Compose v2 是用 Go 编写、直接内置于 Docker CLI 的插件。通过
docker compose(不带连字符)调用。它随 Docker Engine 和 Docker Desktop 提供,因此在现代环境中无需额外安装。两者的命令语法几乎一致——大多数
docker-compose命令在docker compose中用法相同。主要区别在底层:v2 更快、与 Docker 工具链集成更紧密、且在持续维护。下面是对比:
Compose v1 与 v2 对比表
在 2026 年,请坚持使用 v2。如果您的脚本或 CI 流水线仍使用
docker-compose,将连字符替换为空格即可——对于大多数工作流,这就是唯一需要的更改。总结
如果您使用的是现代 Docker 安装,Compose v2 已经就位,无需额外步骤。在 macOS 和 Windows 上,Docker Desktop 自带 Compose;在 Linux 上,则由
docker-compose-plugin软件包提供。在开始编写或运行 Compose 文件之前,请运行
docker compose version确认一切已就绪。如果您仍在使用 Compose v1,现在就是切换的好时机。去掉连字符并移除旧二进制——这就是全部。您现有的 Compose 文件可在 v2 中原样运行。
想了解更多 Docker 资源?报名我们的 Docker 入门课程,学习容器、镜像等内容。