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信號來停止指定服務(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將對不同的服務(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信號來強(qiáng)制停止服務(wù)容器,支持通過-s參數(shù)來指定發(fā)送的信號。

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

例如:發(fā)送SIGINT信號強(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è)容器,指定命令對象容器的索引序號,默認(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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容