本文介紹docker-compose相關的常用命令,以下命令都是以docker-comose開頭的。
up
該命令十分強大,它將嘗試自動完成包括構建鏡像,(重新)創建服務,啟動服務,並關聯服務相關容器的一系列操作。鏈接的服務都將會被自動啟動,除非已經處於運行狀態。
選項:
- -d 在后台運行服務容器
- --no-color 不使用顏色來區分不同的服務的控制台輸出
- --no-deps 不啟動服務所鏈接的容器
- --force-recreate 強制重新創建容器,不能與--no-recreate同時使用
- --no-recreate 如果容器已經存在了,則不重新創建,不能與 --force-recreate 同時使用
- --no-build不自動構建缺失的服務鏡像
- -t,--timeout TIMEOUT 停止容器時候的超時(默認為10秒)
build
格式為:docker-compose build [選項] [服務 ...]
構建(重新構建項目中的服務容器)。
可以隨時在項目目錄下運行docker-compose build來中心構建服務。
選項包括:
- --force-rm刪除構建過程中的臨時容器。
- --no-cache構建鏡像過程中不使用cache(這將加長構建過程)
- --pull始終嘗試通過pull來獲取更新版本的鏡像
version
格式為docker-compose version
打印版本信息
config
驗證Compose文件格式是否正確,若正確顯示配置,若格式錯誤顯示錯誤原因
exec
進入指定的容器
images
列出Compose文件中包含的鏡像
ps
格式為docker-compose ps [選項] [服務 ...]
列出項目中目前的所有容器
選項:
- -q只打印容器的ID信息
logs
格式為docker-compose logs [選項] [服務 ...]
查看服務容器的輸出。默認情況下,docker-compose將對不同的服務輸出使用不同的顏色來區分。可以通過--no-color來關閉顏色。
restart
格式為docker-compose restart [選項] [服務 ...]
重啟項目中的服務。
選項:
- -t,--timeout TIMEOUT指定重啟前停止容器的超時(默認為10秒)
rm
格式為docker-compose rm [選項] [服務 ...]
刪除所有(停止狀態的)服務容器。推薦先執行docker-compose stop命令來停止容器。
選項:
- -f,--force強制直接刪除,包括非停止狀態的容器。一般盡量不要使用該選項
- -v 刪除容器所掛載的數據卷
run
格式為docker-compose run [選項] [-p 端口...] [-e KEY=VAL...] 服務 [命令] [參數 ...]
在指定服務上執行一個命令。例如:
docker-compose run ubuntu ping docker.com
scale
格式為docker-compose scale [選項] [服務名=數字 ...]
設置指定服務運行的容器個數。例如:
docker-compose scale web=3 db=2
start
格式為docker-compose start [服務...]
啟動已經存在的服務容器
stop
停止已經存在的服務容器
down
停止up命令所啟動的容器,並移除網絡
help
格式為docker-compose help 命令
獲得一個命令的幫助
create
格式為docker-compose create [服務 ...]
創建服務
kill
通過發送SIGKILL信號來強制停止服務容器
pause
格式為docker-compse pause [服務 ...]
暫停一個服務容器
unpause
格式為docker-compose unpause [服務 ...]
恢復處於暫停狀態中的服務
port
格式為docker-compose port [選項] 服務 私有端口
打印某個容器端口所映射的公共端口
選項:
- --protocol=proto指定端口協議,tcp(默認值)或者udp
- --index=index如果同一服務存在多個容器,指定命令對象容器的序號(默認為1)
push
推送服務依賴的鏡像到Docker鏡像倉庫
pull
格式為docker-compose pull [選項] [服務 ...]
拉取服務依賴的鏡像
選項:
- --ignore-pull-failures忽略拉取鏡像過程中的錯誤。
top
查看各個服務容器內運行的進程
