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
)通用,無需修改。