命令格式
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
選項如下:
-f巨柒,–file FILE 指定Compose模板文件,默認(rèn)為docker-compose.yml,可以多次指定洋满。
-p晶乔,–project-name NAME指定項目名稱,默認(rèn)將使用所在目錄名稱作為項目名牺勾。
-x-network-driver 使用Docker的可拔插網(wǎng)絡(luò)后端特性(需要Docker 1.9+版本)
-x-network-driver DRIVER指定網(wǎng)絡(luò)后端的驅(qū)動正罢,默認(rèn)為bridge(需要Docker 1.9+版本)
-verbose 顯示更多調(diào)試信息
-v,–version 打印版本并退出
啟動服務(wù)
docker compose up
選項包括:
-d 在后臺運行服務(wù)容器
–no-color 不使用顏色來區(qū)分不同的服務(wù)的控制輸出
–no-deps 不啟動服務(wù)所鏈接的容器
–force-recreate 強制重新創(chuàng)建容器驻民,不能與–no-recreate同時使用
–no-recreate 如果容器已經(jīng)存在翻具,則不重新創(chuàng)建,不能與–force-recreate同時使用
–no-build 不自動構(gòu)建缺失的服務(wù)鏡像
–build 在啟動容器前構(gòu)建服務(wù)鏡像
–abort-on-container-exit 停止所有容器回还,如果任何一個容器被停止裆泳,不能與-d同時使用
-t, –timeout TIMEOUT 停止容器時候的超時(默認(rèn)為10秒)
–remove-orphans 刪除服務(wù)中沒有在compose文件中定義的容器
–scale SERVICE=NUM 設(shè)置服務(wù)運行容器的個數(shù),將覆蓋在compose中通過scale指定的參數(shù)
# 在后臺啟動服務(wù)
docker-compose up -d
# -f 指定使用的Compose模板文件柠硕,默認(rèn)為docker-compose.yml工禾,可以多次指定。
docker-compose -f docker-compose.yml up -d
列出項目中目前的所有容器
docker-compose ps
停止正在運行的容器蝗柔,可以通過docker-compose start 再次啟動
docker-compose stop
-t, –timeout TIMEOUT 停止容器時候的超時(默認(rèn)為10秒)
查看幫助
docker-compose -h
停止和刪除容器闻葵、網(wǎng)絡(luò)、卷癣丧、鏡像槽畔。
docker-compose down
選項包括:
–rmi type 刪除鏡像,類型必須是:all胁编,刪除compose文件中定義的所有鏡像竟痰;local,刪除鏡像名為空的鏡像
-v, –volumes 刪除已經(jīng)在compose文件中定義的和匿名的附在容器上的數(shù)據(jù)卷
–remove-orphans 刪除服務(wù)中沒有在compose中定義的容器
# 停用移除所有容器以及網(wǎng)絡(luò)相關(guān)
docker-compose down
# 查看服務(wù)容器的輸出掏呼。默認(rèn)情況下坏快,docker-compose將對不同的服務(wù)輸出使用不同的顏色來區(qū)分≡饕模可以通過–no-color來關(guān)閉顏色
查看容器日志
docker-compose logs
構(gòu)建(重新構(gòu)建)項目中的服務(wù)容器
docker-compose build
選項包括:
–compress 通過gzip壓縮構(gòu)建上下環(huán)境
–force-rm 刪除構(gòu)建過程中的臨時容器
–no-cache 構(gòu)建鏡像過程中不使用緩存
–pull 始終嘗試通過拉取操作來獲取更新版本的鏡像
-m, –memory MEM 為構(gòu)建的容器設(shè)置內(nèi)存大小
–build-arg key=val 為服務(wù)設(shè)置build-time變量
服務(wù)容器一旦構(gòu)建后莽鸿,將會帶上一個標(biāo)記名∈案可以隨時在項目目錄下運行docker-compose build來重新構(gòu)建服務(wù)
拉取服務(wù)依賴的鏡像
docker-compose pull
選項包括:
–ignore-pull-failures 忽略拉取鏡像過程中的錯誤
–parallel 多個鏡像同時拉取
–quiet 拉取鏡像過程中不打印進度信息
重啟項目中的服務(wù)
docker-compose restart
刪除所有(停止?fàn)顟B(tài)的)服務(wù)容器
docker-compose rm
推薦先執(zhí)行docker-compose stop命令來停止容器
選項包括:
–f, –force祥得,強制直接刪除,包括非停止?fàn)顟B(tài)的容器
-v蒋得,刪除容器所掛載的數(shù)據(jù)卷
啟動已經(jīng)存在的服務(wù)容器
docker-compose start
在指定服務(wù)上執(zhí)行一個命令
docker-compose run
如:
# 在指定容器上執(zhí)行一個ping命令
docker-compose run ubuntu ping www.baidu.com
設(shè)置指定服務(wù)運行的容器個數(shù)级及,
docker-compose scale
通過service=num的參數(shù)來設(shè)置數(shù)量
暫停服務(wù)容器
docker-compose pause
通過發(fā)送SIGKILL信號來強制停止服務(wù)容器
docker-compose kill
如:
# 支持通過-s參數(shù)來指定發(fā)送的信號,例如通過如下指令發(fā)送SIGINT信號:
docker-compose kill -s SIGINT
驗證并查看compose文件配置
docker-compose config
選項包括:
–resolve-image-digests 將鏡像標(biāo)簽標(biāo)記為摘要
-q, –quiet 只驗證配置额衙,不輸出饮焦。 當(dāng)配置正確時怕吴,不輸出任何內(nèi)容,當(dāng)文件配置錯誤县踢,輸出錯誤信息
–services 打印服務(wù)名转绷,一行一個
–volumes 打印數(shù)據(jù)卷名,一行一個
為服務(wù)創(chuàng)建容器
docker-compose create
選項包括:
–force-recreate: 重新創(chuàng)建容器硼啤,即使配置和鏡像沒有改變议经,不兼容–no-recreate參數(shù)
–no-recreate: 如果容器已經(jīng)存在,不需要重新創(chuàng)建谴返,不兼容–force-recreate參數(shù)
–no-build: 不創(chuàng)建鏡像煞肾,即使缺失
–build: 創(chuàng)建容器前,生成鏡像
登錄到容器中
docker-compose exec
選項包括:
-d 分離模式嗓袱,后臺運行命令籍救。
–privileged 獲取特權(quán)。
–user USER 指定運行的用戶索抓。
-T 禁用分配TTY钧忽,默認(rèn)docker-compose exec分配TTY毯炮。
–index=index 當(dāng)一個服務(wù)擁有多個容器時逼肯,可通過該參數(shù)登陸到該服務(wù)下的任何服務(wù),例如:docker-compose exec –index=1 web /bin/bash 桃煎,web服務(wù)中包含多個容器
顯示某個容器端口所映射的公共端口
docker-compose port
選項包括:
–protocol=proto 指定端口協(xié)議篮幢,TCP(默認(rèn)值)或者UDP
–index=index 如果同意服務(wù)存在多個容器,指定命令對象容器的序號(默認(rèn)為1)
推送服務(wù)依的鏡像
docker-compose push
選項包括:
–ignore-push-failures 忽略推送鏡像過程中的錯誤
停止容器
docker-compose stop
恢復(fù)處于暫停狀態(tài)中的服務(wù)
docker-compose unpause
打印版本信息
docker-compose version