Linux 下载、安装 Docker Compose v5.5.1,定义和运行多容器 Docker 应用的官方工具(附安装包docker-compose-linux-x86_64)
文章目录

1. Docker Compose 简介
Docker Compose 是 Docker 官方推出的多容器应用定义与运行工具。它的前身是 2014 年发布的开源项目 Fig,被 Docker 公司收购后更名为 Docker Compose,从此成为 Docker 生态的官方组件。早期版本(V1)使用 Python 编写,2021 年起项目用 Go 语言完全重写为 V2,并以 Docker CLI 插件(cli-plugins)的形式分发,命令形态也从独立的 docker-compose 过渡为 Docker 的子命令 docker compose。它所使用的 compose 文件格式后来发展为开放的 Compose Specification 规范,被众多第三方容器工具采纳。多年来,Docker Compose 一直是 Docker 生态中使用最广泛的项目之一,是本地开发、测试与 CI 环境中管理多容器应用的事实标准。
用 Docker Compose 管理应用,只需要一份 YAML 文件(推荐命名为 compose.yaml),即可声明式地描述应用包含的服务(services)、网络(networks)和数据卷(volumes),然后通过一条命令 docker compose up 创建并启动整套应用。不再需要把 docker run 的长串参数敲进终端,也不用为"先启动哪个服务"的顺序问题编写脚本。
Docker Compose v5.5.1 的核心特点:
- 声明式定义:一份
compose.yaml描述应用的全部组件,配置即文档,可读、可版本化 - 一条命令启动整个应用:
docker compose up同时创建并启动所有服务,down一键清理 - 单一静态二进制:使用 Go 语言编写,无任何运行时依赖,下载后即可直接使用
- Docker CLI 插件形态:作为
docker compose子命令与 Docker 无缝集成,也保留独立的docker-compose命令兼容旧脚本 - 遵循开放规范:跟随 Compose Specification 规范演进,配置文件在各版本间保持兼容
- 开源免费:基于 Apache License 2.0 许可证发布
2. v5.5.1 版本亮点
该版本汇集了 8 位贡献者 的 54 条 贡献。
新特性:生命周期钩子(lifecycle hooks)的输出现在会被捕获并展示出来,钩子执行失败时错误信息中也会包含其输出,排查构建与启动阶段的问题更加直观;通过 --debug 参数可以看到 OpenTelemetry 关闭时的错误信息。
问题修复(节选):
compose watch:向符号链接(symlink)目录同步不再直接失败;初始同步会同步全部文件(不再受文件修改时间影响),并排除 Dockerfile 与 compose 文件本身- 网络:创建网络时正确传入 IPAM(IP 地址管理)选项
docker compose ps:未指定--format时,遵循 Docker CLI 配置文件中的 psFormat 设置docker compose down:清理孤儿服务时,与其带标签镜像的处理方式一致,保留悬空镜像(dangling images)- 等待依赖服务时的超时错误此前可能不会被暴露出来,现在能够可靠呈现
- Windows 上构建过程的进度输出修复;上下文取消后终端输出不再挂起
依赖更新:构建工具链升级到 Go 1.26.8,BuildKit 升级到 v0.33.0,compose-go 升级到 v2.15.0,并移除了 buildx 这一 Go 依赖。
3. 获取安装包
如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/2269(内含 docker-compose-linux-x86_64、README 中英对照、发布说明中英对照和 LICENSE)。
适用于 Linux x86_64(amd64)。
Docker Compose 其他版本:https://hanshuixin.org/resource/software_integrated_package/Linux/Docker%20Compose
Linux安装compose-v5.5.1(docker-compose-linux-x86_64).zip
├── docker-compose-linux-x86_64 ← Docker Compose 主程序(Linux x86_64)
├── Linux安装compose-v5.5.1(docker-compose-linux-x86_64).pdf
├── README/
│ ├── README.md
│ └── README-中文版.md
├── 发布说明/
│ ├── RELEASE-NOTES.md
│ └── RELEASE-NOTES-中文版.md
└── LICENSE4. 安装
本整合包提供的是独立二进制文件,无需运行安装器。将其复制并重命名为 docker-compose,放入 Docker CLI 插件目录,即可作为 docker compose 子命令使用:
mkdir -p ~/.docker/cli-plugins
cp docker-compose-linux-x86_64 ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose验证安装:
docker compose version如需系统级安装,可将文件复制到 /usr/local/lib/docker/cli-plugins(或 /usr/local/libexec/docker/cli-plugins、/usr/lib/docker/cli-plugins、/usr/libexec/docker/cli-plugins)。
系统依赖:Docker Compose 需要与本机的 Docker 守护进程(Docker Engine)通信才能创建和管理容器,请确保系统中已安装并启动 Docker Engine。
5. 使用
5.1 三步运行一个多容器应用
使用 Docker Compose 只需三步:
- 用
Dockerfile定义应用环境,使其可以在任何地方复现; - 在
compose.yaml中定义组成应用的各个服务,使它们能够在隔离的环境中一起运行; - 运行
docker compose up,Compose 会启动并运行整个应用。
一份典型的 compose.yaml 如下,其中定义了一个自带代码挂载的 web 服务和一个 redis 服务:
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: redis5.2 常用命令
| 命令 | 作用 |
|---|---|
docker compose up |
创建并启动 compose.yaml 中定义的全部服务 |
docker compose up -d |
以后台模式启动 |
docker compose ps |
查看当前项目的服务与容器状态 |
docker compose logs -f |
跟踪查看全部服务的日志输出 |
docker compose exec web sh |
进入指定服务的容器执行命令 |
docker compose stop |
停止服务,保留容器 |
docker compose down |
停止并删除容器与网络,一键清理 |
5.3 开发热重载:compose watch
在开发阶段,docker compose watch 可以让本地文件变更自动同步进容器,无需每次修改后手动重新构建或重启服务,是 Compose 面向开发流程的核心能力之一。v5.5.1 对 watch 的初始同步、符号链接目录同步等问题做了多项修复,体验更加稳定。