1. 程式人生 > 其它 >docker基礎(10):docker compose 常用命令

docker基礎(10):docker compose 常用命令

來源:https://www.cnblogs.com/yyxianren/p/10894708.html

一、docker-compose命令格式

docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]

選項如下:

-f,–file FILE     指定Compose模板檔案,預設為docker-compose.yml,可以多次指定。
-p,–project-name  NAME指定專案名稱,預設將使用所在目錄名稱作為專案名。
-x-network-driver   使用Docker的可拔插網路後端特性(需要Docker 1.9+版本)
-x-network-driver    DRIVER指定網路後端的驅動,預設為bridge(需要Docker 1.9+版本)
-verbose        出更多除錯資訊
-v,–version      列印版本並退出

二、docker-compose up

docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]

選項包括:

-d 在後臺執行服務容器
–no-color 不使用顏色來區分不同的服務的控制輸出
–no-deps 不啟動服務所連結的容器
–force-recreate 強制重新建立容器,不能與–no-recreate同時使用
–no-recreate 如果容器已經存在,則不重新建立,不能與–force-recreate同時使用
–no-build 不自動構建缺失的服務映象
–build 在啟動容器前構建服務映象
–abort-on-container-exit 停止所有容器,如果任何一個容器被停止,不能與-d同時使用
-t, –timeout TIMEOUT 停止容器時候的超時(預設為10秒)
–remove-orphans 刪除服務中沒有在compose檔案中定義的容器
–scale SERVICE=NUM 設定服務執行容器的個數,將覆蓋在compose中通過scale指定的引數

示例:

#啟動所有服務
docker-compose up

#在後臺所有啟動服務
docker-compose up -d

#-f 指定使用的Compose模板檔案,預設為docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d

三、docker-compose ps

docker-compose ps [options] [SERVICE...]

示例:

#列出專案中目前的所有容器
docker-compose ps

四、docker-compose stop

docker-compose stop [options] [SERVICE...]

選項包括:

-t, –timeout TIMEOUT 停止容器時候的超時(預設為10秒)

示例

#停止正在執行的容器,可以通過docker-compose start 再次啟動
docker-compose stop

五、docker-compose -h

#檢視幫助
docker-compose -h

六、docker-compose down

#停止和刪除容器、網路、卷、映象。
docker-compose down [options]

選項包括:

–rmi type 刪除映象,型別必須是:all,刪除compose檔案中定義的所有映象;local,刪除映象名為空的映象
-v, –volumes 刪除已經在compose檔案中定義的和匿名的附在容器上的資料卷
–remove-orphans 刪除服務中沒有在compose中定義的容器

示例:

#停用移除所有容器以及網路相關
docker-compose down

七、docker-compose logs

#檢視服務容器的輸出。預設情況下,docker-compose將對不同的服務輸出使用不同的顏色來區分。可以通過–no-color來關閉顏色
docker-compose logs [options] [SERVICE...]

八、docker-compose build

#構建(重新構建)專案中的服務容器
docker-compose build [options] [--build-arg key=val...] [SERVICE...]

選項包括:

–compress 通過gzip壓縮構建上下環境
–force-rm 刪除構建過程中的臨時容器
–no-cache 構建映象過程中不使用快取
–pull 始終嘗試通過拉取操作來獲取更新版本的映象
-m, –memory MEM 為構建的容器設定記憶體大小
–build-arg key=val 為服務設定build-time變數
服務容器一旦構建後,將會帶上一個標記名。可以隨時在專案目錄下執行docker-compose build來重新構建服務

九、docker-compose pull

#拉取服務依賴的映象
docker-compose pull [options] [SERVICE...]

選項包括:

–ignore-pull-failures 忽略拉取映象過程中的錯誤
–parallel 多個映象同時拉取
–quiet 拉取映象過程中不列印進度資訊

十、docker-compose restart

#重啟專案中的服務
docker-compose restart [options] [SERVICE...]

選項包括:

-t, –timeout TIMEOUT 指定重啟前停止容器的超時(預設為10秒)

十一、docker-compose rm

#刪除所有(停止狀態的)服務容器,推薦先執行docker-compose stop命令來停止容器
docker-compose rm [options] [SERVICE...]

選項包括:

–f, –force,強制直接刪除,包括非停止狀態的容器
-v,刪除容器所掛載的資料卷

十二、docker-compose start

#啟動已經存在的服務容器
docker-compose start

十三、docker-compose run

#在指定服務上執行一個命令
docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]

示例

#在指定容器上執行一個ping命令
docker-compose run ubuntu ping www.baidu.com

十四、docker-compose scale

#設定指定服務執行的容器個數,通過service=num的引數來設定數量
docker-compose scale web=3 db=2

十五、docker-compose pause

#暫停一個服務容器
docker-compose pause [SERVICE...]

十六、docker-compose kill

#通過傳送SIGKILL訊號來強制停止服務容器
docker-compose kill [options] [SERVICE...]

示例

#支援通過-s引數來指定傳送的訊號,例如通過如下指令傳送SIGINT訊號:
docker-compose kill -s SIGINT

十七、dokcer-compose config

#驗證並檢視compose檔案配置
docker-compose config [options]

選項包括:

–resolve-image-digests 將映象標籤標記為摘要
-q, –quiet 只驗證配置,不輸出。 當配置正確時,不輸出任何內容,當檔案配置錯誤,輸出錯誤資訊
–services 列印服務名,一行一個
–volumes 列印資料卷名,一行一個

十八、docker-compose create

#為服務建立容器
docker-compose create [options] [SERVICE...]

選項包括:

–force-recreate: 重新建立容器,即使配置和映象沒有改變,不相容–no-recreate引數
–no-recreate: 如果容器已經存在,不需要重新建立,不相容–force-recreate引數
–no-build: 不建立映象,即使缺失
–build: 建立容器前,生成映象

十九、docker-compose exec

docker-compose exec [options] SERVICE COMMAND [ARGS...]

選項包括:

-d 分離模式,後臺執行命令。
–privileged 獲取特權。
–user USER 指定執行的使用者。
-T 禁用分配TTY,預設docker-compose exec分配TTY。
–index=index 當一個服務擁有多個容器時,可通過該引數登陸到該服務下的任何服務,例如:docker-compose exec –index=1 web /bin/bash ,web服務中包含多個容器

二十、docker-compose port

#顯示某個容器埠所對映的公共埠
docker-compose port [options] SERVICE PRIVATE_PORT

選項包括:

–protocol=proto 指定埠協議,TCP(預設值)或者UDP
–index=index 如果同意服務存在多個容器,指定命令物件容器的序號(預設為1)

二十一、docker-compose push

#推送服務依的映象
docker-compose push [options] [SERVICE...]

選項包括:

–ignore-push-failures 忽略推送映象過程中的錯誤

二十二、docker-compose stop

#顯示各個容器執行的程序情況
docker-compose stop [options] [SERVICE...]

二十三、docker-compose unpause

#恢復處於暫停狀態中的服務
docker-compose unpause [SERVICE...]

二十四、docker-compose version

#列印版本資訊
docker-compose version