Docker Compose 是Docker 官方的開源項目, 負責實現對 Docker 容器集羣的快速編排。通過使用一個 docker-compose.yml
模板文件來定義一個或者多個容器,滿足一個軟件應用運行環境。
Docker Compose 有三大使用場景
- Dockerfile 文件構建容器,定製鏡像
- docker-compose.yml 構建軟件環境
- docker-compose 啓動容器
安裝
在window和mac 中,只有安裝docker 就會捆綁安裝Docker Compose
Linux 用戶使用以下命令進行安裝
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
對二進制文件可執行權限
sudo chmod +x /usr/local/bin/docker-compose
查看是否安裝成功
$ docker-compose version
docker-compose version 1.29.1, build c34c88b2
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020
編寫docker-compose.yml
version: "3.9"
# 服務 在它下面可以定義應用需要的一些服務,每個服務都有自己的名字、使用的鏡像、掛載的數據卷、所屬的網絡、依賴哪些其他服務等等。
services:
#服務名稱
webapp:
# docker 運行在名字,在docker ps -a 看到的名字
container_name: mynginx
# 鏡像 : 標籤
image: nginx:syf
# 端口映射 主機端口: 容器端口
ports:
- "80:80"
# 物理卷掛載 將本地路徑掛載到容器內
volumes:
- D:/docker-compose/html:/usr/share/nginx/html
dns:
- 192.168.123.1
Compose 有多個版本支持2.x 、3.x,下面提供版本對應docker版本
Compose file format | Docker Engine release |
---|---|
Compose specification | 19.03.0+ |
3.8 | 19.03.0 |
3.7 | 18.06.0+ |
3.6 | 18.02.0+ |
3.5 | 17.12.0+ |
3.4 | 17.09.0+ |
3.3 | 17.06.0+ |
3.2 | 17.04.0+ |
3.1 | 1.13.1+ |
3.0 | 1.13.0+ |
2.4 | 17.12.0+ |
2.3 | 17.06.0+ |
2.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
docker-compose.yml 文件還可以添加很多配置,有興趣同學去看官網文檔
docker-compose 命令
docker-compose [-f <arg>...] [--profile <name>...] [options] [--] [COMMAND] [ARGS...]
啓動容器
docker-compose -f docker-compose.yml up -d
docker-compose 經常使用命令
- build 構建或者重構service
- create 創建service
- down 停止並且刪除容器資源
- exec 在容器內執行命令 類型docker exec命令
- logs 查看容器日誌,與docker logs 類似
- restart 重啓容器
- start 開啓服務
- up 創建並且開始容器