一、背景
繼上篇文章之后,學習使用Docker Compose(實際項目中需要做對應的變化)
二、docker-compose 安裝
官網使用最新版進行安裝
https://github.com/docker/compose/releases/
例如:
1. 安裝當前穩定版本
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2. 對二進制文件應用可執行權限
chmod +x /usr/local/bin/docker-compose
3. 查看版本(也可以校驗是否安裝成功)
docker-compose --version
三、 docker-compose 命令簡介
如命令:
docker-compose up -d
up
啟動所有在Compose問中定義的容器,並且把它們的日志信息匯集在一起。通常會添加-d參數(在up后面),讓容器在后台執行
start
啟動指定的已經存在的容器
build
重新建造由Dockerfile構建的鏡像。
ps
獲取由Compose管理的容器的狀態信息
run
啟動一個容器,並允許一個一次性的命令。被連接的容器會同時啟動,除非用了 --no-deps參數。
logs
匯集由Compose管理的容器的日志,並以彩色輸出。
stop
停止容器,但不會刪除它們
rm
刪除已停止的容器。不要忘記使用-v參數來刪除任何由Docker管理的數據卷
說明:
一個普通的工作流程以docker-compose up -d名利啟動應用程序開始。docker-compose logs和ps命令可以用來驗證應用程序的狀態,還能幫助調試。
修改代碼后,先執行docker-compose build 構建新的鏡像,然后執行docker-compose up -d 取代運行中的容器。注意,Compose會保留原來容器中所有舊的數據卷,這意味着即使容器更新后,數據庫和緩存也依舊在容器內(這很可能造成混淆,因此要特別小心)。
如果你修改了Compose的YAML文件,但不需要構建新的鏡像,可以通過up -d參數使Compose以新的配置替換容器。如果想要強制停止Compose並重新創建所有容器,可以使用--force-recreate選項來達到目的。
四、 docker-compose.yml 文件模板
#具體的版本號,請參考官網https://docs.docker.com/compose/compose-file/ version: '3.7' services: #聲明構建容器的名稱,docker-compose start和stop命令可以使用 testhttpweb: #使用指定目錄下的Dockerfile進行構建 build: . #相當於docker run命令的-p參數,用於聲明對外開放的端口 ports: - "5000:5000" - "8010:80"
五、簡單使用
1. 在/root/Root/DefaultHttp的路徑下創建yml文件(請參考上一步的模板)
2. 執行命令運行容器
docker-compose up -d
從上圖可以看出,即使沒有創建image也會成功(會自動進行創建)
3. 查看鏡像
docker images
defaulthttp_testhttpweb 為自動創建的鏡像
4. 停止和刪除容器
docker-compose stop testhttpweb
docker-compose rm testhttpweb
六、總結
實現了docker-compose的安裝、命令介紹、簡單使用
參考資料:
《Docker開發指南》