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

全部教程
主站蜘蛛池模板: 久久国产香蕉视频 | 日韩精品你懂的在线播放 | 99久久99久久久99精品齐 | 直接看的毛片 | 激情婷婷网 | 国产精品久久久久久久免费大片 | 免费鲁丝片一级观看 | 精品欧美一区二区在线观看 | 国产亚洲欧洲精品 | 日韩欧国产精品一区综合无码 | 成人免费国产欧美日韩你懂的 | 天天摸夜夜操 | 青青久草在线视频 | 日韩视频一区二区在线观看 | 国产成人精品在线 | 深夜国产福利 | 亚洲加勒比久久88色综合1 | 欧美 亚洲 激情 | 欧美激情精品久久久久久久九九九 | 婷婷免费视频 | 伊人久久狼人 | 色综合久久88一加勒比 | 久草热久草在线视频 | 在线播放国产福利视频 | 久热这里只有精品视频6 | 国产乱码视频 | 日韩欧美黄色片 | 亚洲免费小视频 | 亚洲大片免费 | 天天看片夜夜爽 | 99国产精品热久久久久久夜夜嗨 | 久久亚洲国产中v天仙www | 久草免费在线观看视频 | 国产成人爱片免费观看视频 | 91国内精品久久久久怡红院 | 久久九九热| 亚洲另类第一页 | 色久综合| 99视频在线看 | 免费国产午夜高清在线视频 | 免费鲁丝片一级观看 |