发布网友 发布时间:8小时前
共1个回答
热心网友 时间:7小时前
使用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集群、部署应用、管理应用到最终总结的关键步骤。