Docker Compose 是 Docker 官方編排(Orchestration)項目之一,負責快速的部署分布式應用痢士。
Compose 項目是 Docker 官方的開源項目往产,負責實現(xiàn)對 Docker 容器集群的快速編排。從功能上看,跟 OpenStack 中的 Heat 十分類似芥驳。
Compose 定位是 「定義和運行多個 Docker 容器的應用(Defining and running multi-container Docker applications)」舟茶,其前身是開源項目 Fig
我們知道使用一個 Dockerfile
模板文件谭期,可以讓用戶很方便的定義一個單獨的應用容器。然而吧凉,在日常工作中隧出,經常會碰到需要多個容器相互配合來完成某項任務的情況。
例如要實現(xiàn)一個 Web 項目阀捅,除了 Web 服務容器本身胀瞪,往往還需要再加上后端的數(shù)據(jù)庫服務容器,甚至還包括負載均衡容器等饲鄙。
Compose 恰好滿足了這樣的需求凄诞。它允許用戶通過一個單獨的 docker-compose.yml
模板文件(YAML 格式)來定義一組相關聯(lián)的應用容器為一個項目(project)。
Compose 中有兩個重要的概念:
* 服務 (service
):一個應用的容器忍级,實際上可以包括若干運行相同鏡像的容器實例帆谍。
* 項目 (project
):由一組關聯(lián)的應用容器組成的一個完整業(yè)務單元,在 docker-compose.yml
文件中定義轴咱。
Compose 的默認管理對象是項目汛蝙,通過子命令對項目中的一組容器進行便捷地生命周期管理。
Compose 項目由 Python 編寫朴肺,實現(xiàn)上調用了 Docker 服務提供的 API 來對容器進行管理窖剑。因此,只要所操作的平臺支持 Docker API戈稿,就可以在其上利用 Compose
來進行編排管理苛吱。
安裝與卸載
Compose 支持 Linux、macOS器瘪、Windows 10 三大平臺翠储。
Compose 可以通過 Python 的包管理工具 `pip` 進行安裝,也可以直接下載編譯好的二進制文件使用橡疼,甚至能夠直接在 Docker 容器中運行援所。
前兩種方式是傳統(tǒng)方式,適合本地環(huán)境下安裝使用欣除;最后一種方式則不破壞系統(tǒng)環(huán)境住拭,更適合云計算場景。
`Docker for Mac` 、`Docker for Windows` 自帶 `docker-compose` 二進制文件滔岳,安裝 Docker 之后可以直接使用
Linux 系統(tǒng)請使用以下介紹的方法安裝
一: 二進制包
在 Linux 上的也安裝十分簡單杠娱,從 [官方 GitHub Release](https://github.com/docker/compose/releases)處直接下載編譯好的二進制文件即可。
--------------------------------------------------------------------
[docker@localhost ~]$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[docker@localhost ~]$ sudo chmod +x /usr/local/bin/docker-compose
--------------------------------------------------------------------
二: PIP安裝
這種方式是將 Compose 當作一個 Python 應用來從 pip 源中安裝谱煤。
--------------------------------------------------------------------
[docker@localhost ~]$ sudo pip install -U docker-compose
Collecting docker-compose
Downloading https://files.pythonhosted.org/packages/67/03/b833b571595e05c933d3af3685be3b27b1166c415d005b3eadaa5be80d25/docker_compose-1.22.0-py2.py3-none-any.whl (126kB)
...
Successfully installed docker-compose cached-property...
--------------------------------------------------------------------
到這里就已經安裝好了摊求。
卸載
如果是二進制文件安裝,則需執(zhí)行:
--------------------------------------------------------------------
[docker@localhost ~]$ sudo rm /usr/local/bin/docker-compose
--------------------------------------------------------------------
如果是通過pip安裝的刘离,則執(zhí)行如下命令即可刪除
--------------------------------------------------------------------
[docker@localhost ~]$ sudo pip uninstall docker-compose
--------------------------------------------------------------------