幫助文檔
docker@default:~$ docker-compose --help
Define and run multi-container applications with Docker.
Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE Specify an alternate compose file
(default: docker-compose.yml)
-p, --project-name NAME Specify an alternate project name
(default: directory name)
--verbose Show more output
--log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi Do not print ANSI control characters
-v, --version Print version and exit
-H, --host HOST Daemon socket to connect to
--tls Use TLS; implied by --tlsverify
--tlscacert CA_PATH Trust certs signed only by this CA
--tlscert CLIENT_CERT_PATH Path to TLS certificate file
--tlskey TLS_KEY_PATH Path to TLS key file
--tlsverify Use TLS and verify the remote
--skip-hostname-check Don't check the daemon's hostname against the
name specified in the client certificate
--project-directory PATH Specify an alternate working directory
(default: the path of the Compose file)
--compatibility If set, Compose will attempt to convert keys
in v3 files to their non-Swarm equivalent
Commands:
build 構(gòu)建或重建服務(wù)
bundle 從compose配置文件中產(chǎn)生一個(gè)docker綁定
config 驗(yàn)證并查看compose配置文件
create 創(chuàng)建服務(wù)
down 停止并移除容器鲫咽、網(wǎng)絡(luò)址芯、鏡像和數(shù)據(jù)卷
events 從容器中接收實(shí)時(shí)的事件
exec 在一個(gè)運(yùn)行中的容器上執(zhí)行一個(gè)命令
help 獲取命令的幫助信息
images 列出所有鏡像
kill 通過發(fā)送SIGKILL信號(hào)來停止指定服務(wù)的容器
logs 從容器中查看服務(wù)日志輸出
pause 暫停服務(wù)
port 打印綁定的公共端口
ps 列出所有運(yùn)行中的容器
pull 拉取并下載指定服務(wù)鏡像
push Push service images
restart 重啟YAML文件中定義的服務(wù)
rm 刪除指定已經(jīng)停止服務(wù)的容器
run 在一個(gè)服務(wù)上執(zhí)行一條命令
scale 設(shè)置指定服務(wù)運(yùn)行容器的個(gè)數(shù)
start 在容器中啟動(dòng)指定服務(wù)
stop 停止已運(yùn)行的服務(wù)
top 顯示各個(gè)服務(wù)容器內(nèi)運(yùn)行的進(jìn)程
unpause 恢復(fù)容器服務(wù)
up 創(chuàng)建并啟動(dòng)容器
version 顯示Docker-Compose版本信息
命令解析
docker-compose
docker-compose [-f <args>...] [options] [COMMAND] [ARGS...]
命令選項(xiàng)[-f <args>...]
-f, --file FILE 指定Compose模板文件妇拯,默認(rèn)為docker-compose.yml可多次指定很魂。
$ docker-compose -f docker-compose.yml up -d
-p, --project-name NAME 指定項(xiàng)目名稱,默認(rèn)使用當(dāng)前所在目錄名稱作為項(xiàng)目名稱馋嗜。
-x-network-driver 使用Docker可拔插網(wǎng)絡(luò)后端特性祟同,需Docker1.9+版本支持焕参。
-x-network-driver DRIVER 指定網(wǎng)絡(luò)后端驅(qū)動(dòng),默認(rèn)為bridge齿梁,需Docker1.9+版本支持催植。
-verbose 輸出更多調(diào)試信息
-v, --version 打印版本并退出
docker-compose up
啟動(dòng)所有服務(wù)
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
命令選項(xiàng)[options]
-d 指定在后臺(tái)以守護(hù)進(jìn)程方式運(yùn)行服務(wù)容器
-no-color 設(shè)置不使用顏色來區(qū)分不同的服務(wù)器的控制輸出
-no-deps 設(shè)置不啟動(dòng)服務(wù)所鏈接的容器
-force-recreate 設(shè)置強(qiáng)制重新創(chuàng)建容器肮蛹,不能與--no-recreate選項(xiàng)同時(shí)使用。
--no-create 若容器已經(jīng)存在則不再重新創(chuàng)建创南,不能與--force-recreate選項(xiàng)同時(shí)使用伦忠。
--no-build 設(shè)置不自動(dòng)構(gòu)建缺失的服務(wù)鏡像
--build 設(shè)置在啟動(dòng)容器前構(gòu)建服務(wù)鏡像
--abort-on-container-exit 若任何一個(gè)容器被停止則停止所有容器,不能與選項(xiàng)-d同時(shí)使用稿辙。
-t, --timeout TIMEOUT 設(shè)置停止容器時(shí)的超時(shí)秒數(shù)缓苛,默認(rèn)為10秒。
--remove-orphans 設(shè)置刪除服務(wù)中沒有在compose文件中定義的容器
--scale SERVICE=NUM 設(shè)置服務(wù)運(yùn)行容器的個(gè)數(shù)邓深,此選項(xiàng)將會(huì)負(fù)載在compose中通過scale指定的參數(shù)未桥。
docker-compose ps
列出項(xiàng)目中當(dāng)前的所有容器
docker-compose ps [options] [SERVICE...]
docker@default:~$ docker-compose ps
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml
docker@default:~$ docker-compose ps
Name Command State Ports
swoft_swoft_1 /bin/bash Exit 0
docker-compose -h
查看docker-compose幫助
docker-compose down
停止和刪除容器、網(wǎng)絡(luò)芥备、卷冬耿、鏡像
docker-compose down [options]
命令選項(xiàng) [options]
--rmi type 刪除鏡像類型,類型可選:
--rmi all 刪除compose文件中定義的所有鏡像
--rmi local 刪除鏡像名為空的鏡像
-v, --volumes 刪除已經(jīng)在compose文件中定義的和匿名的附在容器上的數(shù)據(jù)卷
--remove-orphans 刪除服務(wù)中沒有在compose中定義的容器
docker-compose logs
查看服務(wù)容器的輸出萌壳,默認(rèn)情況下docker-compose將對(duì)不同的服務(wù)輸出使用不同的顏色來區(qū)分亦镶。可以通過--no-color來關(guān)閉顏色袱瓮。
docker-compose logs [options] [SERVICE...]
例如:
root@default:/var/www/swoft# docker-compose logs
Attaching to swoft_swoft_1
swoft_1 | root@cd054651dfcb:/var/www/swoft# exit
docker-compose build
構(gòu)建或重構(gòu)項(xiàng)目中的服務(wù)容器缤骨,服務(wù)容器一旦構(gòu)建后將會(huì)帶上一個(gè)標(biāo)記名稱,可以隨時(shí)在項(xiàng)目目錄下運(yùn)行docker-compose build來重新構(gòu)建服務(wù)尺借。
docker-compose build [options] [--build-arg key=val...] [SERVICE...]
命令選項(xiàng)[options]
--compress 通過gzip壓縮構(gòu)建上下文環(huán)境
--force-rm 刪除構(gòu)建過程中的臨時(shí)容器
--no-cache 構(gòu)建鏡像過程中不使用緩存
--pull 始終嘗試通過拉取操作來獲取更新版本的鏡像
-m, --memory MEM為構(gòu)建的容器設(shè)置內(nèi)存大小
--build-arg key=val 為服務(wù)設(shè)置build-time變量
docker-compose pull
拉取服務(wù)依賴的鏡像
docker-compose pull [options] [SERVICE...]
命令選項(xiàng)[options]
--ignore-pull-failures 忽略拉取鏡像過程中的錯(cuò)誤
--parallel 同時(shí)拉取多個(gè)鏡像
--quiet 拉取鏡像過程中不打印進(jìn)度信息
docker-compose restart
重啟項(xiàng)目中的服務(wù)
docker-compose restart [options] [SERVICE...]
命令選項(xiàng)[options]
-t, --timeout TIMEOUT指定重啟前停止容器的超時(shí)時(shí)長绊起,默認(rèn)為10秒。
docker-compose rm
刪除所有停止?fàn)顟B(tài)的服務(wù)容器燎斩,推薦先執(zhí)行docker-compose stop命令來停止容器虱歪。
docker-compose rm [options] [SERVICE...]
命令選項(xiàng)[options]
-f, --force 強(qiáng)制直接刪除包含非停止?fàn)顟B(tài)的容器
-v 刪除容器所掛載的數(shù)據(jù)卷
docker-compose start
啟動(dòng)已經(jīng)存在的服務(wù)容器
docker-compose start [SERVICE...]
docker-compose run
在指定服務(wù)上執(zhí)行一條命令
docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
例如:在ubuntu容器上運(yùn)行ping命令10次
$ docker-compose run ubuntu ping www.baidu.com -c 10
docker-compose scale
設(shè)置指定服務(wù)運(yùn)行的容器個(gè)數(shù),通過service=num參數(shù)設(shè)置服務(wù)數(shù)量栅表。
docker-compose scale
例如:
$ docker-compoose scale web=3 db=2
docker-compose pause
暫停一個(gè)服務(wù)容器
docker-compose pause [SERVICE...]
docker-compose kill
發(fā)送SIGKILL信號(hào)來強(qiáng)制停止服務(wù)容器笋鄙,支持通過-s參數(shù)來指定發(fā)送的信號(hào)。
docker-compose kill [options] [SERVICE...]
例如:發(fā)送SIGINT信號(hào)強(qiáng)制停止服務(wù)容器
$ docker-compose kill -s SIGINT
docker-compose config
驗(yàn)證并查看compose文件配置
docker-compose config [options]
選項(xiàng)參數(shù)[options]
--resolve-image-digests 將鏡像標(biāo)簽標(biāo)記為摘要
-q, --quiet 只驗(yàn)證配置不輸出怪瓶,當(dāng)配置正確時(shí)不輸出任何容器萧落,當(dāng)配置錯(cuò)誤時(shí)輸出錯(cuò)誤信息。
--services 打印服務(wù)名稱洗贰,一行顯示一個(gè)找岖。
--volumes 打印數(shù)據(jù)卷名稱,一行顯示一個(gè)哆姻。
例如:
root@default:/var/www/swoft# docker-compose config
services:
swoft:
entrypoint:
- /bin/bash
image: swoft/swoft:latest
ports:
- 83:83/tcp
privileged: true
stdin_open: true
tty: true
volumes:
- /share/swoft:/var/www/swoft:rw
version: '3.0'
docker-compose create
為服務(wù)創(chuàng)建容器
docker-compose create [options] [SERVICE...]
選項(xiàng)說明[options]
--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
docker-compose exec [options] SERVICE COMMAND [ARGS...]
選項(xiàng)參數(shù)[options]
-d 分離模式,以后臺(tái)守護(hù)進(jìn)程運(yùn)行命令灵妨。
--privileged 獲取特權(quán)
-T 禁用分配TTY解阅,默認(rèn)docker-compose exec分配TTY。
--index=index 當(dāng)一個(gè)服務(wù)擁有多個(gè)容器時(shí)可通過該參數(shù)登錄到該服務(wù)下的任何服務(wù)
例如:
$ docker-compose exec --index=1 web /bin/bash
docker-compose port
顯示某個(gè)容器端口所映射的公共端口
docker-compose port [options] SERVICE PRIVATE_PORT
選項(xiàng)參數(shù)[options]
--protocol=proto 指定端口協(xié)議泌霍,默認(rèn)為TCP货抄,可選UDP。
--index=index 若同意服務(wù)存在多個(gè)容器朱转,指定命令對(duì)象容器的索引序號(hào)蟹地,默認(rèn)為1。
docker-compose push
推送服務(wù)依賴的鏡像
docker-compose push [options] [SERVICE...]
選項(xiàng)參數(shù)[options]
--ignore-push-failure 忽略推送鏡像過程中的錯(cuò)誤
docker-compose stop
顯示各個(gè)容器運(yùn)行的進(jìn)程情況
docker-compose stop [options] [SERVICE...]
docker-compose unpause
恢復(fù)處于暫停狀態(tài)中的服務(wù)
docker-compose unpause [SERVICE...]
docker-compose version
打印Docker Compose版本信息
root@default:/var/www/swoft# docker-compose version
docker-compose version 1.24.0, build 0aa59064
docker-py version: 3.7.2
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018