Docker Compose 的主要功能可以總結為一句話:
👉 用一個配置文件(docker-compose.yml),一次性管理、啓動、停止、編排多個 Docker 容器。

下面是它的核心功能點(簡單明瞭版):


🧩 1. 多容器編排(Multi-container orchestration)

多個需要協同工作的服務(如:web、db、cache、queue)寫在一個 docker-compose.yml 文件裏,
👉 一條命令就能把整個系統跑起來:

docker compose up -d

⚙️ 2. 服務定義(Service definition)

可以在文件中定義每個服務的:

  • 鏡像/構建方式(image/build)
  • 端口映射(ports)
  • 環境變量(environment)
  • 數據卷(volumes)
  • 網絡(networks)
  • 依賴順序(depends_on)

把一整套環境“寫死”成一個版本化文件,方便複用。


🔌 3. 自動管理網絡(Networking)

Compose 會自動為所有服務創建一個 默認網絡,服務之間可以 通過服務名互相訪問

例如:
web 訪問數據庫可以直接寫

mysql:3306

不需要 IP。


💾 4. 數據卷管理(Volumes)

可以在 compose 文件裏定義和掛載 volumes,保證容器重啓/更新後數據不丟失。


▶️ 5. 一鍵啓動 / 停止 / 重建 服務

常用命令:

  • docker compose up -d —— 啓動全部服務
  • docker compose down —— 停止並刪除容器
  • docker compose restart —— 重啓全部服務
  • docker compose build —— 重建鏡像
  • docker compose logs —— 查看日誌

非常適合開發環境和中小型部署。


👥 6. 環境一致性(Consistency)

開發、測試、上線用 同一份 Compose 配置
保證環境一致,不會出現 “我本地運行正常” 的問題。


📦 7. 支持擴容(Scaling)

可以快速擴容某個服務:

docker compose up --scale web=3 -d

如果你需要,我也可以給你一個 典型的 docker-compose.yml 示例(如運行 Nginx + MySQL + Redis + Node.js)。