日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

十、Compose命令

發布時間:2024/6/21 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 十、Compose命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

于2021年10月9日學習,注意此篇內容是建立在上一篇的案例上的。

一、compose命令

廢話不多說,先來查看一下幫助

docker-compose help
docker-compose [COMMAND] --help
docker-compose help [COMMAND]

對于 Compose 來說,大部分命令的對象既可以是項目本身,也可以指定為項目中的服務或者容器。

如果沒有特別的說明,命令對象將是項目,會對項目中所有的服務生效。

語法

docker-compose [-f=<arg>...] [options] [COMMAND] [ARGS...]

:'
[-f=<arg>...]:指定模板文件
[options]:選項
[COMMAND]:命令
[ARGS...]:參數
'

常用選項

-f, --file FILE 指定使用的 Compose 模板文件,默認為 docker-compose.yml,可以多次指定。
-p, --project-name NAME 指定項目名稱,默認將使用所在目錄名稱作為項目名。
--verbose 輸出更多調試信息。
-v, --version 打印版本并退出。

案例

docker-compose -f docker-compose-base.yml -f docker-compose-prod.yml 
docker-compose -p web
docker-compose --verbose
docker-compose -v

使用docker-compose命令需要進入項目文件夾中才能使用

二、管理命令

up

自動完成包括構建鏡像,(重新)創建服務,啟動服務,并關聯服務相關容器的一系列操作。

默認情況,docker-compose up 啟動的容器都在前臺,控制臺將會同時打印所有容器的輸出信息,可以很方便進行調試。

通過 Ctrl-C 停止命令時,所有容器將會停止。

如果服務容器已經存在,docker-compose up 將會停止容器,然后重新創建,以保證使用最新 docker-compose.yml 文件內容。

docker-compose up 
#只啟動處于停止狀態的容器,忽略已經運行的服務
docker-compose up --no-recreate
#重新創建web服務,不影響web服務依賴的其他服務
docker-compose up --no-deps -d web

:'
-d 在后臺運行服務容器。
--no-color 不使用顏色來區分不同的服務的控制臺輸出。
--no-deps 不啟動服務所鏈接的容器。
--force-recreate 強制重新創建容器,不能與 --no-recreate 同時使用。
--no-recreate 如果容器已經存在了,則不重新創建,不能與 --force-recreate 同時使用。
--no-build 不自動構建缺失的服務鏡像。
-t, --timeout TIMEOUT 停止容器時候的超時(默認為 10 秒)。
'

build

構建或重新構建項目中的服務容器;第一次運行為構建服務容器,第二次運行為重新構建。

服務容器一旦構建后,將會帶上一個標記名,這個標記名就是創建的項目文件夾名;例如 web 項目文件夾中的一個名為db的容器,最后使用docker ps查看容器名為web_db。

語法

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

案例

docker-compose build

:'
包括的選項有
--force-rm 刪除構建過程中的臨時容器。
--no-cache 構建鏡像過程中不使用 cache(這將加長構建過程)。
--pull 始終嘗試通過 pull 來獲取更新版本的鏡像。
'

start

啟動已經存在的服務容器,服務容器必須存在,也就是說需要先構建容器后才能使用該命令。

docker-compose start web

stop

停止已經處于運行狀態的容器。

docker-compose start web

:'
-t, --timeout TIMEOUT 停止容器時候的超時(默認為 10 秒)。
'

restart

重啟項目中的服務。

#重啟所有服務
docker-compose restart
#只重啟web服務
docker-compose restart web

:'
-t, --timeout TIMEOUT 指定重啟容器超時時間(默認為 10 秒)。
'

pause

暫停一個服務容器。

docker-compose pause web

unpause

恢復處于暫停狀態中的服務。

docker-compose unpause web

kill

通過發送 SIGKILL 信號來強制停止服務容器。

#殺死全部容器
docker-compose kill -s SIGINT

#殺死web服務容器
docker-compose kill -s SIGINT web

rm

刪除所有(停止狀態的)服務容器。

需要先執行 docker-compose stop 命令來停止容器才能使用。

docker-compose rm
docker-compose rm web

:'
-f, --force 強制直接刪除,包括非停止狀態的容器。一般盡量不要使用該選項。
-v 刪除容器所掛載的數據卷。
'

down

此命令將會停止 up 命令所啟動的容器,并移除網絡。

docker-compose down

可以看到compose會創建一個以項目名命名,名為web_default的網絡,以后介紹。

三、常用命令

config

驗證 Compose 文件格式是否正確,若正確則顯示配置,若格式錯誤顯示錯誤原因。

需要在項目文件夾中運行

docker-compose config

run

在指定服務上執行一個命令。

如果存在關聯,則所有關聯的服務將會自動被啟動,除非這些服務已經在運行中。

#啟動ubuntu服務容器ping百度
docker-compose run ubuntu ping www.baidu.com

:'
-d 后臺運行容器。
--name NAME 為容器指定一個名字。
--entrypoint CMD 覆蓋默認的容器啟動指令。
-e KEY=VAL 設置環境變量值,可多次使用選項來設置多個環境變量。
-u, --user="" 指定運行容器的用戶名或者 uid。
--no-deps 不自動啟動關聯的服務容器。
--rm 運行命令后自動刪除容器,d 模式下將忽略。
-p, --publish=[] 映射容器端口到本地主機。
--service-ports 配置服務端口并映射到本地主機。
-T 不分配偽 tty,意味著依賴 tty 的指令將無法運行。
'

exec

進入指定的容器,這里的web是上一篇博文案例中的web服務。

#查看運行的容器
docker-compose ps

#進入web容器
docker-compose exec web sh

#執行ping命令
docker-compose exec web ping www.baidu.com

#當服務有多個容器時,使用--index指定第幾個,默認是第一個
docker-compose exec --index=2 web sh

效果如下

images

列出 Compose 文件中包含的鏡像。

docker-compose images

logs

查看服務容器的日志。默認情況下,docker-compose 將對不同的服務輸出使用不同的顏色來區分。

#查看web服務容器的日志
docker-compose logs web

port

打印某個容器端口所映射的公共端口。

docker-compose port web 5000

:'
其他選項
--protocol=proto 指定端口協議,tcp(默認值)或者 udp。
--index=index 如果同一服務存在多個容器,指定命令對象容器的序號(默認為 1)。
'

注意這是將容器端口映射的宿主機端口打印出來,映射端口需要在docker-compose-base.yml文件中修改

ps

列出項目中目前的所有容器。

docker-compose ps
#只打印容器ID信息
docker-compose ps -q

pull

拉取服務依賴的鏡像。

#拉取全部服務鏡像
docker-compose pull
#只拉取web服務鏡像
docker-compose pull web

:"
--ignore-pull-failures 忽略拉取鏡像過程中的錯誤。
"

push

推送服務依賴的鏡像到 Docker 鏡像倉庫。

#推送全部服務鏡像
docker-compose push
#只推送web服務鏡像
docker-compose push web

scale

設置指定服務運行的容器個數。

當指定數目多于該服務當前實際運行容器,將新創建并啟動容器;反之,將停止容器。

#啟動3個web服務容器,啟動2個db服務容器
docker-compose scale web=3 db=2

:'
-t, --timeout TIMEOUT 停止容器時候的超時(默認為 10 秒)。
'

top

查看各個服務容器內運行的進程。

docker-compose top web

version

打印版本信息。

docker-compose version

四、參考資料

docker入門到實戰

今天的學習是為了以后的工作更加的輕松!

總結

以上是生活随笔為你收集整理的十、Compose命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。