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               通過(guò)發(fā)送SIGKILL信號(hào)來(lái)停止指定服務(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è)置不使用顏色來(lái)區(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中通過(guò)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ù)輸出使用不同的顏色來(lái)區(qū)分聊浅。可以通過(guò)--no-color來(lái)關(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來(lái)重新構(gòu)建服務(wù)碳锈。

docker-compose build [options] [--build-arg key=val...] [SERVICE...]

命令選項(xiàng)[options]

  • --compress 通過(guò)gzip壓縮構(gòu)建上下文環(huán)境
  • --force-rm 刪除構(gòu)建過(guò)程中的臨時(shí)容器
  • --no-cache 構(gòu)建鏡像過(guò)程中不使用緩存
  • --pull 始終嘗試通過(guò)拉取操作來(lái)獲取更新版本的鏡像
  • -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 忽略拉取鏡像過(guò)程中的錯(cuò)誤
  • --parallel 同時(shí)拉取多個(gè)鏡像
  • --quiet 拉取鏡像過(guò)程中不打印進(jìn)度信息

docker-compose restart

重啟項(xiàng)目中的服務(wù)

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

命令選項(xiàng)[options]

  • -t, --timeout TIMEOUT指定重啟前停止容器的超時(shí)時(shí)長(zhǎng)顽冶,默認(rèn)為10秒。

docker-compose rm

刪除所有停止?fàn)顟B(tài)的服務(wù)容器售碳,推薦先執(zhí)行docker-compose stop命令來(lái)停止容器渗稍。

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ù),通過(guò)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)來(lái)強(qiáng)制停止服務(wù)容器竿屹,支持通過(guò)-s參數(shù)來(lái)指定發(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)說(shuō)明[options]

  • --force-recreate 重新創(chuàng)建容器哮缺,即使配置和鏡像沒有改變弄跌,不兼容--no-recreate參數(shù)。
  • --no-recreate 如果容器已經(jīng)存在則無(wú)需重新創(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í)可通過(guò)該參數(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 忽略推送鏡像過(guò)程中的錯(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,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異握牧,居然都是意外死亡容诬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門沿腰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)览徒,“玉大人,你說(shuō)我怎么就攤上這事颂龙∠芭睿” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵措嵌,是天一觀的道長(zhǎng)躲叼。 經(jīng)常有香客問我,道長(zhǎng)企巢,這世上最難降的妖魔是什么枫慷? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上或听,老公的妹妹穿的比我還像新娘探孝。我一直安慰自己,他們只是感情好誉裆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布顿颅。 她就那樣靜靜地躺著,像睡著了一般足丢。 火紅的嫁衣襯著肌膚如雪粱腻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天霎桅,我揣著相機(jī)與錄音,去河邊找鬼讨永。 笑死滔驶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的卿闹。 我是一名探鬼主播揭糕,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锻霎!你這毒婦竟也來(lái)了著角?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤旋恼,失蹤者是張志新(化名)和其女友劉穎吏口,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冰更,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡产徊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜀细。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舟铜。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖奠衔,靈堂內(nèi)的尸體忽然破棺而出谆刨,到底是詐尸還是另有隱情,我是刑警寧澤归斤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布痊夭,位于F島的核電站,受9級(jí)特大地震影響脏里,放射性物質(zhì)發(fā)生泄漏生兆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸦难。 院中可真熱鬧根吁,春花似錦、人聲如沸合蔽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拴事。三九已至沃斤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刃宵,已是汗流浹背衡瓶。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牲证,地道東北人哮针。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像坦袍,于是被迫代替她去往敵國(guó)和親十厢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349