如果你已经习惯了用 Docker 运行单个容器,那么很快你就会遇到新的烦恼:当项目需要同时启动数据库、缓存和后端服务时,手动输入一串又一串的 docker run 命令简直是噩梦。
Docker Compose 的出现就是为了解决这个问题,它让你通过一个 YAML 文件就能定义并启动整套多容器应用。但由于历史上存在两个版本(V1 和 V2),很多过时的教程会让新手感到困惑。现在,Docker Compose V2 已经作为 Docker 的 CLI 插件成为了标准。
本文将带你避开旧坑,在 Linux、macOS 和 Windows 上以正确的方式安装并配置 Docker Compose V2。
安装前的核心准备
Docker Compose 并不是一个独立的工具,它必须依赖 Docker Engine 才能工作。在动手安装 Compose 之前,请务必确认你的机器上已经安装了 Docker。
你可以通过这个命令来验证:
docker --version
如果系统提示找不到命令,你需要先完成 Docker 的基础安装。
另外,有些现代的 Docker 安装包(比如 Docker Desktop)其实已经内置了 Compose。你可以试着运行:
docker compose version
如果屏幕上返回了版本号(例如 Docker Compose version v2.x.x),那么恭喜你,你的环境已经就绪,可以直接跳过安装步骤。
关键区别:V1 与 V2
在开始之前,有必要理清一个长久以来的误区:
- Docker Compose v1:它是基于 Python 开发的独立二进制文件,调用命令带连字符:
docker-compose。该版本已于 2023 年停止维护。 - Docker Compose v2:它是用 Go 语言重写的 Docker 插件,调用命令不带连字符:
docker compose。
现在的原则很简单:永远优先使用 V2,并习惯使用空格替代连字符。
在 Linux 上安装 Docker Compose
在 Linux 环境下,你有两种主要选择:通过官方仓库安装(推荐,便于后续更新)或手动下载二进制文件。
方式一:使用官方仓库(推荐)
这种方法能确保 Compose 与 Docker Engine 的更新保持同步。如果你还没有配置 Docker 的 apt 仓库,可以参考以下步骤(以 Ubuntu 为例):
-
添加 Docker 官方 GPG 密钥:
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 -
安装 Compose 插件:
sudo apt-get install docker-compose-plugin
方式二:手动安装独立二进制文件
如果你的环境无法访问官方仓库,或者需要特定版本的 Compose,可以选择手动下载:
-
创建插件目录:
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins -
下载指定版本(以 v2.26.1 为例):
curl -SL https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose -
赋予执行权限:
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
在 macOS 和 Windows 上安装
对于桌面端用户,事情要简单得多。Docker Desktop 已经捆绑了 Docker Compose V2,你不需要额外进行任何安装操作。
- macOS:从 Docker 官网 下载适合你芯片(Intel 或 Apple Silicon)的安装包,拖入应用程序文件夹即可。
- Windows:安装 Docker Desktop 前,请确保已开启 WSL2(Windows Subsystem for Linux 2)。在管理员模式的 PowerShell 中运行
wsl --install并重启。安装 Docker 时,勾选 “Use WSL2 instead of Hyper-V” 选项。
安装完成后,打开终端(Terminal 或 PowerShell),运行 docker compose version 即可看到结果。
版本验证与常见坑点排查
安装完成后,务必确认版本:
docker compose version
如果出现 docker compose: command not found,通常是以下几个原因:
1. 权限问题
在 Linux 上,如果普通用户无法运行 Docker 命令,可能是因为没在 docker 用户组中。
sudo usermod -aG docker $USER
执行完后需退出并重新登录终端。
2. 环境变量路径(PATH)
如果你是手动安装的插件,但 Docker 找不到它,检查你的目录是否正确。Docker 默认会在 ~/.docker/cli-plugins 或 /usr/libexec/docker/cli-plugins 寻找插件。
3. V1 与 V2 冲突
如果你的系统里既有 docker-compose 又有新版的插件,可能会导致调用混乱。建议通过 which docker-compose 找到旧版路径并将其删除,全面转向 docker compose。
如何升级与卸载
升级
- Docker Desktop:直接在软件界面点击 “Check for Updates” 即可。
- Linux (仓库):运行
sudo apt-get update && sudo apt-get upgrade docker-compose-plugin。 - 手动安装:重新执行下载命令覆盖旧文件,并赋予执行权限。
卸载
- 仓库版:
sudo apt-get remove docker-compose-plugin。 - 手动版:直接删除插件文件
rm $DOCKER_CONFIG/cli-plugins/docker-compose。
总结
在 2026 年的今天,Docker Compose V2 早已成熟。无论你是在服务器上部署生产环境,还是在本地开发,使用 docker compose(不带连字符)都是唯一正确的姿势。
既然 V2 已经是事实上的标准,旧的 docker-compose 就可以淘汰了。把你的自动化脚本里的连字符改为空格,你会发现 V2 在运行速度和与 Docker 生态的兼容性上都表现得更加出色。
关于
关注我获取更多资讯