大战熟女丰满人妻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 之外。

全部教程
主站蜘蛛池模板: 正在播放亚洲一区 | 精品国产欧美一区二区三区成人 | 欧美一区二区三区在线观看 | 欧美同房免姿势108费视频 | 免费一级毛片在线播放放视频 | 欧美国产成人一区二区三区 | 久操不卡 | 免费毛片一级 | 91久久精品国产免费一区 | 国产精品久久久久久久伊一 | 国产精品第| 日本在线毛片视频免费看 | 亚洲综合在线视频 | 久久永久影院免费 | 欧美综合国产 | 女人18免费毛片视频 | 国产九九免费视频网站 | 久久99亚洲精品久久 | 国内永久第一免费福利视频 | 国产乱码精品一区二区三上 | 一级毛片高清大全免费观看 | 国内自拍 在线播放 网红 | 涩涩色中文综合亚洲 | 精品国产97在线观看 | 草久久免费视频 | 久久视频这里只精品3国产 久久视频这里只有精品 | 国产99视频精品草莓免视看 | 亚洲精品色一区色二区色三区 | 日韩欧美色视频在线观看 | 国产亚洲精品久久久久久牛牛 | 69国产成人综合久久精品91 | 精品视频免费播放 | 日韩精品无码一区二区三区 | 免费看一级黄色毛片 | 亚洲精品香蕉一区二区在线观看 | 在线99视频 | 日本中文字幕一区二区高清在线 | 奇米影视第四色888 奇米影视第四色首页 | 第一福利影院 | 久久精品国产久精国产 | 中文字幕亚洲色图 |