鍍金池/ 教程/ Linux/ Compose 命令說(shuō)明
利用數(shù)據(jù)卷容器來(lái)備份、恢復(fù)、遷移數(shù)據(jù)卷
Docker 網(wǎng)絡(luò)實(shí)現(xiàn)
實(shí)戰(zhàn) Django
YAML 模板文件
名字空間
控制組
編輯網(wǎng)絡(luò)配置文件
列出
進(jìn)入容器
Compose 命令說(shuō)明
創(chuàng)建 Tomcat/Weblogic 集群
守護(hù)態(tài)運(yùn)行
快速配置指南
其它安全特性
示例:創(chuàng)建一個(gè)點(diǎn)到點(diǎn)連接
CentOS 系列安裝 Docker
數(shù)據(jù)卷容器
鏡像
指令
創(chuàng)建鏡像
Docker 容器
創(chuàng)建鏡像
常用倉(cāng)庫(kù)
總結(jié)
什么是 Docker
存出和載入鏡像
使用
獲取鏡像
容器互聯(lián)
為什么要使用 Docker?
使用 Wordpress 入門(mén) Fig
啟動(dòng)
容器訪問(wèn)控制
私有倉(cāng)庫(kù)
使用
基本架構(gòu)
自定義網(wǎng)橋
環(huán)境變量參考
實(shí)戰(zhàn) Rail
服務(wù)端的防護(hù)
刪除
鏡像的實(shí)現(xiàn)原理
多臺(tái)物理主機(jī)之間的容器互聯(lián)
Docker 倉(cāng)庫(kù)
簡(jiǎn)介
數(shù)據(jù)卷
命令參考
使用 Supervisor 來(lái)管理進(jìn)程
移除
基本結(jié)構(gòu)
命令查詢
終止容器
聯(lián)合文件系統(tǒng)
安裝
簡(jiǎn)介
配置 DNS
內(nèi)核能力機(jī)制
導(dǎo)出和導(dǎo)入容器
配置 docker0 網(wǎng)橋
倉(cāng)庫(kù)配置文件
內(nèi)核名字空間
標(biāo)準(zhǔn)化開(kāi)發(fā)測(cè)試和生產(chǎn)環(huán)境
外部訪問(wèn)容器
fig.yml 參考
Ubuntu 系列安裝 Docker
有用資源
安裝
端口映射實(shí)現(xiàn)
安裝 Fig
工具和示例
簡(jiǎn)介
控制組
容器格式
Docker Hub

Compose 命令說(shuō)明

大部分命令都可以運(yùn)行在一個(gè)或多個(gè)服務(wù)上。如果沒(méi)有特別的說(shuō)明,命令則應(yīng)用在項(xiàng)目所有的服務(wù)上。

執(zhí)行 docker-compose [COMMAND] --help 查看具體某個(gè)命令的使用說(shuō)明。

基本的使用格式是

docker-compose [options] [COMMAND] [ARGS...]

選項(xiàng)

  • --verbose 輸出更多調(diào)試信息。
  • --version 打印版本并退出。
  • -f, --file FILE 使用特定的 compose 模板文件,默認(rèn)為 docker-compose.yml
  • -p, --project-name NAME 指定項(xiàng)目名稱(chēng),默認(rèn)使用目錄名稱(chēng)。

命令

build

構(gòu)建或重新構(gòu)建服務(wù)。

服務(wù)一旦構(gòu)建后,將會(huì)帶上一個(gè)標(biāo)記名,例如 web_db。

可以隨時(shí)在項(xiàng)目目錄下運(yùn)行 docker-compose build 來(lái)重新構(gòu)建服務(wù)。

help

獲得一個(gè)命令的幫助。

kill

通過(guò)發(fā)送 SIGKILL 信號(hào)來(lái)強(qiáng)制停止服務(wù)容器。支持通過(guò)參數(shù)來(lái)指定發(fā)送的信號(hào),例如

$ docker-compose kill -s SIGINT

logs

查看服務(wù)的輸出。

port

打印綁定的公共端口。

ps

列出所有容器。

pull

拉取服務(wù)鏡像。

rm

刪除停止的服務(wù)容器。

run

在一個(gè)服務(wù)上執(zhí)行一個(gè)命令。

例如:

$ docker-compose run ubuntu ping docker.com

將會(huì)啟動(dòng)一個(gè) ubuntu 服務(wù),執(zhí)行 ping docker.com 命令。

默認(rèn)情況下,所有關(guān)聯(lián)的服務(wù)將會(huì)自動(dòng)被啟動(dòng),除非這些服務(wù)已經(jīng)在運(yùn)行中。

該命令類(lèi)似啟動(dòng)容器后運(yùn)行指定的命令,相關(guān)卷、鏈接等等都將會(huì)按照期望創(chuàng)建。

兩個(gè)不同點(diǎn):

  • 給定命令將會(huì)覆蓋原有的自動(dòng)運(yùn)行命令;
  • 不會(huì)自動(dòng)創(chuàng)建端口,以避免沖突。

如果不希望自動(dòng)啟動(dòng)關(guān)聯(lián)的容器,可以使用 --no-deps 選項(xiàng),例如

$ docker-compose run --no-deps web python manage.py shell

將不會(huì)啟動(dòng) web 容器所關(guān)聯(lián)的其它容器。

scale

設(shè)置同一個(gè)服務(wù)運(yùn)行的容器個(gè)數(shù)。

通過(guò) service=num 的參數(shù)來(lái)設(shè)置數(shù)量。例如:

$ docker-compose scale web=2 worker=3

start

啟動(dòng)一個(gè)已經(jīng)存在的服務(wù)容器。

stop

停止一個(gè)已經(jīng)運(yùn)行的容器,但不刪除它。通過(guò) docker-compose start 可以再次啟動(dòng)這些容器。

up

構(gòu)建,(重新)創(chuàng)建,啟動(dòng),鏈接一個(gè)服務(wù)相關(guān)的容器。

鏈接的服務(wù)都將會(huì)啟動(dòng),除非他們已經(jīng)運(yùn)行。

默認(rèn)情況, docker-compose up 將會(huì)整合所有容器的輸出,并且退出時(shí),所有容器將會(huì)停止。

如果使用 docker-compose up -d ,將會(huì)在后臺(tái)啟動(dòng)并運(yùn)行所有的容器。

默認(rèn)情況,如果該服務(wù)的容器已經(jīng)存在, docker-compose up 將會(huì)停止并嘗試重新創(chuàng)建他們(保持使用 volumes-from 掛載的卷),以保證 docker-compose.yml 的修改生效。如果你不想容器被停止并重新創(chuàng)建,可以使用 docker-compose up --no-recreate。如果需要的話,這樣將會(huì)啟動(dòng)已經(jīng)停止的容器。

環(huán)境變量

環(huán)境變量可以用來(lái)配置 Compose 的行為。

DOCKER_開(kāi)頭的變量和用來(lái)配置 Docker 命令行客戶端的使用一樣。如果使用 boot2docker , $(boot2docker shellinit) 將會(huì)設(shè)置它們?yōu)檎_的值。

COMPOSE_PROJECT_NAME

設(shè)置通過(guò) Compose 啟動(dòng)的每一個(gè)容器前添加的項(xiàng)目名稱(chēng),默認(rèn)是當(dāng)前工作目錄的名字。

COMPOSE_FILE

設(shè)置要使用的 docker-compose.yml 的路徑。默認(rèn)路徑是當(dāng)前工作目錄。

DOCKER_HOST

設(shè)置 Docker daemon 的地址。默認(rèn)使用 unix:///var/run/docker.sock,與 Docker 客戶端采用的默認(rèn)值一致。

DOCKER_TLS_VERIFY

如果設(shè)置不為空,則與 Docker daemon 交互通過(guò) TLS 進(jìn)行。

DOCKER_CERT_PATH

配置 TLS 通信所需要的驗(yàn)證(ca.pemcert.pemkey.pem)文件的路徑,默認(rèn)是 ~/.docker 。