一、Docker Compose是什么?
- Docker Compose是一個工具,用於定義和運行多容器應用程序的工具;
- Docker Compose通過yml文件定義多容器的docker應用;
- Docker Compose通過一條命令根據yml文件的定義去創建或管理多容器;
- Docker Compose是用來做Docker的多容器控制,是一個用來把Docker自動化的東西。有了Docker Compose你可以把所有繁復的 Docker 操作全都一條命令,自動化的完成(可以簡單理解為批處理)。
二、Docker Compose安裝步驟
1、下載Docker Compose二進制文件,我這里下載的版本是1.29.2
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
2、對剛剛下載的二進制文件添加可執行權限
sudo chmod +x /usr/local/bin/docker-compose
3、通過docker-compose --version
命令檢查是否安裝成功
三、Docker Compose版本差別
- v3 版本不支持 volume_from 、extends、group_add等屬性;
- cpu 和 內存屬性的設置移到了 deploy 中;
- v3 版本支持 Docker Swarm,而 v2 版本不支持;
注意:官方目前在 1.20.0 引入了一個新--compatibility標志,幫助開發人員輕松的過渡到v3,目前還有些問題官方還不建議直接使用到生產,建議大家直接上手v3版本。
四、Docker Compose基本命令
Docker Compose命令基本上和Docker相差不多,主要就是對Docker Compose生命周期控制、日志格式等相關命令,可以通過docker-compose --help查看幫助。
#構建啟動nignx容器
docker-compose up -d nginx
#進入nginx容器中
docker-compose exec nginx bash
#將會停止UP命令啟動的容器,並刪除容器
docker-compose down
#顯示所有容器
docker-compose ps
#重新啟動nginx容器
docker-compose restart nginx
#構建nginx鏡像
docker-compose build nginx
#不帶緩存的構建nginx鏡像
docker-compose build --no-cache nginx
#查看nginx的日志
docker-compose logs nginx
#查看nginx的實時日志
docker-compose logs -f nginx
#驗證(docker-compose.yml)文件配置,
#當配置正確時,不輸出任何內容,當文件配置錯誤,輸出錯誤信息
docker-compose config -q
#以json的形式輸出nginx的docker日志
docker-compose events --json nginx
#暫停nignx容器
docker-compose pause nginx
#恢復ningx容器
docker-compose unpause nginx
#刪除nginx容器
docker-compose rm nginx
#停止nignx容器
docker-compose stop nginx
#啟動nignx容器
docker-compose start nginx