大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Docker教程
Docker安裝
Docker使用
Docker實例

Docker Stack管理應用

Stack 是一組相關聯的服務和基礎設施,需要進行統一的部署和管理。雖然這句話里充斥著術語,但仍提醒我們 Stack 是由普通的 Docker 資源構建而來:網絡、卷、密鑰、服務等。

這意味著可以通過普通的 Docker 命令對其進行查看和重新配置,例如 docker network、docker volume、docker secret、docker service 等。

在此前提之下,通過 docker service 命令來管理 Stack 中某個服務是可行的。一個簡單的例子是通過 docker service scale 命令來擴充 appserver 服務的副本數。但是,這并不是推薦的方式!

推薦方式是通過聲明式方式修改,即將 Stack 文件作為配置的唯一聲明。這樣,所有 Stack 相關的改動都需要體現在 Stack 文件中,然后更新重新部署應用所需的 Stack 文件。

下面是一個簡單例子,闡述了為什么通過命令修改的方式不好(通過 CLI 進行變更)。

假設讀者已經部署了一個 Stack,采用的 Stack 文件是《Docker Stack》一 節中從 GitHub 復制的倉庫中的 docker-stack.yml。這意味著目前 appserver 服務有兩個副本。如果通過 docker service scale 命令將副本修改為 4 個,當前運行的集群會有 4 個副本,但是 Stack 文件中仍然是兩個。

但是,假設通過修改 Stack 文件對 Stack 做了某些改動,然后通過 docker stack deploy 命令進行滾動部署。這會導致 appserver 服務副本數被回滾到兩個,因為 Stack 文件就是這么定義的。因此,推薦對 Stack 所有的變更都通過修改 Stack 文件來進行,并且將該文件放到一個合適的版本控制系統當中。

一起來回顧對Stack進行兩個聲明式修改的過程。目標是進行如下改動。

增加 appserver 副本數,數量為 2~10。將 visualizer 服務的優雅停止時間增加到 2min。修改 docker-stack.yml 文件,更新兩個值:

services.appserver.deploy.replicas=10services.visualizer.stop_grace_period=2m

目前,Stack 文件中的內容如下。

<Snip>
appserver:
image: dockersamples/atsea_app
networks:
- front-tier
- back-tier
- payment
deploy:
replicas: 10 <<Updated value
<Snip>
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8001:8080"
stop_grace_period: 2m <<Updated value
<Snip

保存文件并重新部署應用。

$ docker stack deploy -c docker-stack.yml seastack
Updating service seastack_reverse_proxy (id: z4crmmrz7zi83o0721heohsku)
Updating service seastack_database (id: 3vvpkgunetxaatbvyqxfic115)
Updating service seastack_appserver (id: ljht639w33dhv0dmht1q6mueh)
Updating service seastack_visualizer (id: rbwoyuciglre01hsm5fviabjf)
Updating service seastack_payment_gateway (id: w4gsdxfnb5gofwtvmdiooqvxs)

以上重新部署應用的方式,只會更新存在變更的部分。

運行 docker stack ps 命令來確認 appserver 副本數量確實增加。

$ docker stack ps seastack
NAME NODE DESIRED STATE CURRENT STATE
seastack_visualizer.1 mgr-1 Running Running 1 second ago
seastack_visualizer.1 mgr-1 Shutdown Shutdown 3 seconds ago
seastack_appserver.1 wrk-2 Running Running 24 minutes ago
seastack_appserver.2 wrk-1 Running Running 24 minutes ago
seastack_appserver.3 wrk-2 Running Running 1 second ago
seastack_appserver.4 wrk-1 Running Running 1 second ago
seastack_appserver.5 wrk-2 Running Running 1 second ago
seastack_appserver.6 wrk-1 Running Starting 7 seconds ago
seastack_appserver.7 wrk-2 Running Running 1 second ago
seastack_appserver.8 wrk-1 Running Starting 7 seconds ago
seastack_appserver.9 wrk-2 Running Running 1 second ago
seastack_appserver.10 wrk-1 Running Starting 7 seconds ago

輸出內容有所裁剪,只展示了受變更影響的服務。

注意關于 visualizer 服務有兩行內容。其中一行表示某個副本在 3s 前停止,另一行表示新副本已經運行了 1s。這是因為剛才對 visualizer 服務作了修改,所以 Swarm 集群終止了正在運行的副本,并且啟動了新的副本,新副本中更新了 stop_grace_period 的值。

還需要注意的是,appserver 服務目前擁有 10 個副本,但不同副本的“CURRENT STATE”一列狀態并不相同:有些處于 running 狀態,而有些仍在 starting 狀態。

經過足夠的時間,集群的狀態會完成收斂,期望狀態和當前狀態就會保持一致。在那時,集群中實際部署和觀察到的狀態,就會跟 Stack 文件中定義的內容完全一致。

所有應用 /Stack 都應采用該方式進行更新。所有的變更都應該通過 Stack 文件進行聲明,然后通過 docker stack deploy 進行部署。

正確的刪除某個 Stack 方式是通過 docker stack rm 命令。一定要謹慎!刪除 Stack 不會進行二次確認。

$ docker stack rm seastack
Removing service seastack_appserver
Removing service seastack_database
Removing service seastack_payment_gateway
Removing service seastack_reverse_proxy
Removing service seastack_visualizer
Removing network seastack_front-tier
Removing network seastack_payment
Removing network seastack_default
Removing network seastack_back-tier

注意:網絡和服務已經刪除,但是密鑰并沒有。這是因為密鑰是在 Stack 部署前就創建并存在了。在 Stack 最上層結構中定義的卷同樣不會被 docker stack rm 命令刪除。這是因為卷的設計初衷是保存持久化數據,其生命周期獨立于容器、服務以及 Stack 之外。

全部教程
主站蜘蛛池模板: 国产九九免费视频网站 | 久久亚洲精品一区成人 | 男女啪啪猛烈免费网站 | 免费夜色污私人影院网站 | 色综合五月激情综合色一区 | 日日摸夜夜添夜夜添欧美毛片 | 四虎网址换成什么了2021 | 深夜在线视频 | 欧美日韩精品 | 国产成人免费在线观看 | 国产97色在线 | 免费 | 色成网 | 久久精品亚洲乱码伦伦中文 | 中文字幕在线最新在线不卡 | 狠狠色丁香婷婷综合欧美 | 亚洲色综合 | 久久午夜精品 | 久久国产精品免费一区二区三区 | 国产色婷婷精品综合在线观看 | 伊人久久91 | 国产成年人在线观看 | 亚洲精品一区二区三区婷婷 | 九九热在线免费观看 | 亚洲九九香蕉 | 中文字幕在线观看一区二区 | 任我鲁精品视频精品 | 国产成人精品免费视频大 | 四虎影视网 | 国产激情一区二区三区在线观看 | 久久久久久久国产视频 | 五月天婷婷亚洲 | 四虎官网 | 国内视频一区二区 | 久久久毛片| 亚洲精品中文字幕乱码三区一二 | 国产欧美二区三区 | 国产一区在线视频观看 | jizz中国女人| 免费看日韩欧美一级毛片 | 四虎国产精品视频免费看 | 国产精品久久久久久久久齐齐 |