前面我們使用 docker
的時候,定義 Dockerfile
文件,然后使用 docker build
、docker run
等等命令,有沒有覺得很麻煩呀,而且當容器多的時候,很多東西不好管理和記錄,挺不方便。這時候我們的 docker compose
神器橫空出世了。
docker compose 是什么呢?
可以理解為多容器的自動化管理工具。將 多容器docker
動作拆分成一系列配置信息(新建一個 docker-compose.yml
來保存配置信息),然后通過 docker-compose up
命令一鍵化運行,實現了docker 自動化部署。 docker compose
可以做很多事,比如:網絡自定義、映射磁盤、微服務多實例部署等,同時可以提高工作效率,降低維護成本。
docker compose 安裝
- 安裝命令
curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 查看安裝
docker-compose -v
docker-compose -v 查看安裝版本
docker-compose 常見命令
-
docker-compose ps
列出所有運行容器 -
docker-compose build
構建或者重新構建服務 -
docker-compose start
啟動構建服務docker-compose start 構建的服務名稱
-
docker-compose stop 構建的服務名稱
關閉啟動服務 -
docker-compose rm
刪除指定服務的容器docker-compose rm 構建的服務名稱容器
-
docker-compose up
構建、啟動容器,docker-compose up -d
-d 可以后臺啟動 -
docker-compose kill
kill 指定運行的容器,docker-compose kill 運行的容器服務名稱
docker-compose.yml 屬性
-
version
指定docker-compose.yml 文件的寫法格式,如:Version 1 file format
、Version 2 file format
、Version 2.1 file format
、Version 3 file format
,其中Version 1 file format
逐漸被棄用;使用方式如:version: '3'
-
services
多個容器集合 -
image
指定服務所使用的鏡像 -
ports
對外暴露的端口定義,和 expose 對應,可以是多個
ports: # 暴露端口信息 - "宿主機端口:容器暴露端口"
- "8763:8763"
- "8763:8763"
-
links
將指定容器連接到當前連接,可以設置別名,避免ip方式
導致的容器重啟動態改變的無法連接情況
links: # 指定服務名稱:別名
- docker-compose-eureka-server:compose-eureka
-
volumes
卷掛載路徑設置
volumes:
- /lib
- /var
-
logs
輸出日志信息
--no-color 單色輸出,不顯示其他顏.
-f, --follow 跟蹤日志輸出,就是可以實時查看日志
-t, --timestamps 顯示時間戳
--tail 從日志的結尾顯示,--tail=200
如:docker-compose logs -f 指定運行容器服務名稱
,docker-compose logs -f nginx
- 待續
利用 docker-compose 啟動 nginx 容器
- 編寫
docker-compose.yml
,內容如下:
version: '2' # 表示該docker-compose.yml文件使用的是Version 2 file format
services: # Version 2 file format的固定寫法,為project定義服務
nginx: # 指定服務名稱
image: nginx # 指定服務所使用的鏡像
ports: # 暴露端口信息
- 80:80
- 使用
docker-compose up
命令啟動
docker-compose up
或者docker-compose up -d
后臺啟動
docker-compose nginx 啟動
docker-compose nginx 啟動成功
-
瀏覽器訪問
docker-compose nginx 訪問
看完,放松下!
輕松一刻
如有不對的地方,望多多指教,謝謝!
作者:逐暗者(轉載請注明出處)