什麼是docker-compose

Compose 項目是 Docker 官方的開源項目,負責實現對 Docker 容器集群的快速編排。從功能上看,跟 OpenStack 中的 Heat 十分類似。

其代碼目前在 https://github.com/docker/compose 上開源。

Compose 定位是 「定義和運行多個 Docker 容器的應用(Defining and running multi-container Docker applications)」,其前身是開源項目 Fig。

通過第一部分中的介紹,我們知道使用一個 Dockerfile 模板文件,可以讓用戶很方便的定義一個單獨的應用容器。然而,在日常工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個 Web 項目,除了 Web 服務容器本身,往往還需要再加上後端的數據庫服務容器,甚至還包括負載均衡容器等。

Compose 恰好滿足了這樣的需求。它允許用戶通過一個單獨的 docker-compose.yml 模板文件(YAML 格式)來定義一組相關聯的應用容器為一個項目(project)。

Compose 中有兩個重要的概念:

  • 服務 (service):一個應用的容器,實際上可以包括若干運行相同鏡像的容器實例。
  • 項目 (project):由一組關聯的應用容器組成的一個完整業務單元,在 docker-compose.yml 文件中定義。

Compose 的默認管理對象是項目,通過子命令對項目中的一組容器進行便捷地生命週期管理。

Compose 項目由 Python 編寫,實現上調用了 Docker 服務提供的 API 來對容器進行管理。因此,只要所操作的平臺支持 Docker API,就可以在其上利用 Compose 來進行編排管理。


分享到:


相關文章: