Docker Compose 的两个命令形式 docker compose
(空格连接)与 docker-compose
(短横线连接)核心区别如下:
一、技术本质
docker-compose
(短横线)- 独立可执行文件:早期实现方式,需单独下载安装(如
/usr/local/bin/docker-compose
)。 - 兼容性:支持旧版 Docker 环境(19.03 之前),跨平台通用性强。
- 调用方式:作为独立命令运行(例如
docker-compose up
)。
- 独立可执行文件:早期实现方式,需单独下载安装(如
docker compose
(空格连接)- Docker 原生插件:从 Docker 19.03 起集成到 Docker CLI 中作为子命令。
- 依赖关系:无需独立安装,随 Docker 引擎自动提供(新版 Docker 默认包含)。
- 命令格式:作为
docker
的子命令使用(例如docker compose up
)。
二、实际差异
特性 | docker-compose | docker compose |
---|---|---|
安装方式 | 需独立安装 | 随 Docker 自动集成 |
最低 Docker 版本 | 无限制 | 需 ≥19.03 |
命令路径 | 单独可执行文件 | Docker CLI 子命令 |
未来支持 | 逐步淘汰(官方推荐迁移) | Docker 官方主推方案 |
三、使用建议
- 新项目/新环境:优先使用
docker compose
(插件式),避免额外依赖,符合官方演进方向。 - 旧系统维护:若环境为 Docker 19.03 之前版本,仍需使用
docker-compose
(独立命令)。 - 混用场景:二者可共存于同一系统,但配置文件(
docker-compose.yml
)通用,无需修改。