docker-compose 常用命令詳解

幫助文檔
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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末藤为,一起剝皮案震驚了整個(gè)濱河市怪与,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缅疟,老刑警劉巖分别,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異存淫,居然都是意外死亡耘斩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門桅咆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來括授,“玉大人,你說我怎么就攤上這事轧邪」舨保” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵忌愚,是天一觀的道長。 經(jīng)常有香客問我却邓,道長硕糊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任腊徙,我火速辦了婚禮简十,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘撬腾。我一直安慰自己螟蝙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布民傻。 她就那樣靜靜地躺著胰默,像睡著了一般场斑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牵署,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天漏隐,我揣著相機(jī)與錄音,去河邊找鬼奴迅。 笑死青责,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的取具。 我是一名探鬼主播脖隶,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼暇检!你這毒婦竟也來了浩村?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤占哟,失蹤者是張志新(化名)和其女友劉穎心墅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體榨乎,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怎燥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜜暑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铐姚。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖肛捍,靈堂內(nèi)的尸體忽然破棺而出隐绵,到底是詐尸還是另有隱情,我是刑警寧澤拙毫,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布依许,位于F島的核電站,受9級(jí)特大地震影響缀蹄,放射性物質(zhì)發(fā)生泄漏峭跳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一缺前、第九天 我趴在偏房一處隱蔽的房頂上張望蛀醉。 院中可真熱鬧,春花似錦衅码、人聲如沸拯刁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垛玻。三九已至割捅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夭谤,已是汗流浹背棺牧。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留朗儒,地道東北人颊乘。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像醉锄,于是被迫代替她去往敵國和親乏悄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容