Docker Compose是一個比較簡單的docker容器的編配工具,以前的名稱叫Fig,由Orchard團隊開發的開源Docker編配工具,在2014年被Docker公司收購,Docker Compose是使用Python語言開發的一款docker編配工具。使用Docker Compose,可以用一個yml文件定義一組要啓動的容器,以及容器運行時的屬性。Docker Compose稱這些容器爲“服務”,像這樣定義:容器通過某些方法並指定一些運行時的屬性來和其他容器產生交互。
1.安裝Docker Compose
Docker Compose的安裝可以通過Python Pip來安裝 > pip install -U docker-compose
安裝完畢後通過docker compose --version 來查看docker compose是否安裝成功。當然也可進行離線安裝,去Docker官方的離線地址下載(https://dl.bintray.com/docker-compose/master/)選擇相應的版本,如果是Linux版本,執行以下兩個命令即可(先將docker-compose移動到bin下,然後增加執行權限即可):
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose;
chmod +x /usr/local/bin/docker-compose
2.docker-compose.yml的使用
在compose中,我們定義了一組要啓動的服務,我們還定義了我們希望這些服務要啓動的運行時屬性,這些屬性和docker run 命令需要的參數類似。將所有的屬性都定義在一個YAML文件中。之後執行docker-compose up命令,compose會啓動這些容器,使用指定的參數來執行,並將所有的日誌輸出合併在一起。
docker-compose.yml語法說明(參照):http://www.cnblogs.com/freefei/p/5311294.html點擊打開鏈接
例如:
version: '2'
services:
activemq:
image: activemq:v4
ports:
- "61616:61616"
- "8161:8161"
consul:
image: consul:v14
ports:
- "8500:8500"
nginx:
image: nginx:v12
ports:
- "443:443"
- "8080:8080"
depends_on:
- consul
- activemq
myService:
image: web:v1.1.3
command: 8080 0 172.17.0.1
ports:
- "8087:8087"
depends_on:
- nginx
volumes:
- ${PWD}/logs/:/opt/web/logs/
以下是一些Docker Compose常用命令:
docker-compose up 啓動docker compose中定義的服務,參數 -d 以守護進程的方式運行compos,注意服務間是交替運行的,Ctrl + c停止compose 運行
docker-compose ps 查看本地compose定義的正在運行的所有服務,類似於docker ps
docker-compose logs 查看日誌,這個命令會追蹤日誌文件類似於docker logs -f container 或者tail -f file 一樣
docker-compose stop 停止正在運行的服務,如果服務並沒有停止,則可以通過docker kill 強制停止服務
docker-compose start 重啓服務,與docker start 類似
docker-compose rm 刪除compose 服務,類似於docker rm
docker-compose shutdown