1.创建 Swarm 集群
2.部署swam监控
3.节点的降级升级
4.删除节点
5. 私有仓库的结合
6.滚动更新
滚动更新镜像版本
删除服务
7. 编写compose文件部署服务:stack 替换了compose
8.可视化容器管理工具 Portainer的结合
Docker Swarm是一个Dockerized化的分布式应用程序的本地集群,它是在Machine所提供的功能的基础上优化主机资源的利用率和容错服务。具体来说,Docker Swarm支持用户创建可运行Docker Daemon的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。
1.创建 Swarm 集群
初始化集群:
在这里插入图片描述
执行上图提示,在其他docker节点上执行命令,节点作为一个worker会添加进swam
docker swarm join --token SWMTKN-1-4owwqn5j0u0k1bqxgozn3p1glcvmo7yl33w700xswc2293eiw0-dn40jytlvqqpw5zo5udbdgbzg 172.25.10.1:2377
在这里插入图片描述
在这里插入图片描述
查看swam 集群节点(server1 作为leader,)
在这里插入图片描述
2.部署swam监控
查看官方文档帮助
https://github.com/dockersamples/docker-swarm-visualizer
3.节点的降级升级
在这里插入图片描述
在这里插入图片描述
4.删除节点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5. 私有仓库的结合
1.加速文件(server2,3,4)
2.拷贝证书
[root@server2 docker]# scp -r certs.d/ server4:/etc/docker/
3.每个节点有解析
[root@server1 harbor]# ./install.sh --with-chartmuseum
使用server1中搭建的habor仓库
在这里插入图片描述
测试
在节点处就可以直接在私有仓库中拉取镜像,速度快
在这里插入图片描述
当有了私有仓库之后,部署速度提升
自动部署
在这里插入图片描述
在这里插入图片描述
发现问题:
自动拉取镜像的时候,tag是none: 为了在仓库中更新(始终找最新版本)
在这里插入图片描述
6.滚动更新
节点扩容
[root@server2 ~]# docker service scale my_web=10
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
滚动更新镜像版本
每个多长时间,每次几个,直到更新所有
docker service update --image myapp:v2 --update-parallelism 2 --update-delay 5s my_web
注释
--image 指定要更新的镜像
-update-parallelism 指定最大同步更新的任务数
--update-delay 指定更新间隔
在这里插入图片描述更新myapp镜像,每次两个,间隔5S,直至更新完所有
在这里插入图片描述
在这里插入图片描述
从仓库中找最新版本的镜像
在这里插入图片描述
删除服务
在这里插入图片描述
7. 编写compose文件部署服务:stack 替换了compose
https://docs.docker.com/compose/compose-file/compose-file-v3/ 官方文档查看帮助
将监控镜像也放在仓库中
docker stack deploy -c docker-compose.yml my_cluster 部署 -c 指定compose文件 my_cluster名字
在这里插入图片描述
在这里插入图片描述
删除:docker stack rm my_cluster
8.可视化容器管理工具 Portainer的结合
将所需镜像放在habor仓库中
可以直接在github上下载
在这里插入图片描述
下载portainer-agent-stack.yml文件,修改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
待更新
————————————————
版权声明:本文为CSDN博主「ninimino」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ninimino/article/details/113416320
相关文章
- 10-04docker 安装 gitlab
- 10-04搭建GitLab(基于Docker Compose)
- 10-04基于docker部署gitlab-ce
- 10-04k8s 传参给docker env command、args和dockerfile中的entrypoint、cmd之间的关系
- 10-04running boot2docker -> error in run: Failed to get machine “boot2docker-vm”: machine does not exist
- 10-04Docker 部署 _实现每日情话 定时推送(apscheduler)
- 10-04不进docker容器修改文件
- 10-04[学习记录]docker本地路径的一点杂谈
- 10-04Docker普通用户不使用sudo提权
- 10-04docker 挂载文件出错