使用Docker Stack部署管理应用

发布网友 发布时间:4小时前

我来回答

1个回答

热心网友 时间:3小时前

使用Docker Stack部署和管理应用的流程如下:


部署前的准备工作包括确保三台Linux主机开放了必要的端口:2377/tcp用于客户端与Swarm的通信,7946/tcp和7946/udp用于节点间通信,以及47/udp用于基于VXLAN的覆盖网络。针对不同的Linux发行版,如Centos7和Ubuntu20.04,可参考相应文档开放指定端口。


搭建Swarm集群的步骤包括:




在管理节点mgr1上执行docker swarm init命令,使其成为管理节点。




在工作节点wrk1和wrk2上分别执行命令,添加为工作节点。




在mgr1上执行docker node ls命令查看当前Swarm节点。




添加新的节点标签:




在mgr1上执行docker node update --label-add pcidss=yes wrk1命令,将标签添加到wrk1。




执行docker node inspect wrk1命令确认标签已成功添加。




创建密钥:




在mgr1上执行openssl req命令生成新的键值对,并将加密key放置于Docker密钥文件中。




创建revprox_cert、revprox_key、postgres_password及staging_token等密钥。




执行docker secret ls命令查看所有密钥。




部署示例应用的步骤如下:




在mgr1上执行命令从Github下载源码。




在mgr1上执行docker stack deploy -c docker-stack.yml teststack命令部署stack应用,应用名为teststack。




在mgr1上执行相关命令查看网络、服务、stack以及服务详细信息,包括日志。




管理应用时,进行如下声明式修改:




在docker-stack.yml文件中修改appserver副本数量至2~10,或将visualizer服务的优雅停止时间调整为2min。




使用cat命令查看修改后的docker-stack.yml文件内容。




执行docker stack deploy -c docker-stack.yml teststack命令重新部署应用。




通过docker stack ps teststack命令观察appserver副本数量是否已增加到10。




总结:




所有变更应通过stack文件进行声明,并通过docker stack deploy部署。




删除stack后,其密钥和卷不会被删除。




以上是使用Docker Stack部署和管理应用的完整流程,包含了从准备环境、搭建Swarm集群、部署应用、管理应用到最终总结的关键步骤。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com