Docker Swarm实操初战

Posted BlingblingFu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Swarm实操初战相关的知识,希望对你有一定的参考价值。

Docker Swarm实操初战

环境

  • 宿主机:macOS 10.15.7
  • 虚拟机平台:Parallels Desktop 15.1.2
  • 虚拟机ISO:CentOS-7-x86_64-Minimal-2009.iso
  • Docker Engine Version:20.10.9

设置方法

先安装好一台虚拟机并在上面安装Docker,再通过克隆获得另外3台虚拟机,如下图所示。

四台虚拟机的参数如下:

主机IP角色
CentOS Linux 1192.168.199.228Manager
CentOS Linux 2192.168.199.171Worker
CentOS Linux 3192.168.199.201Worker
CentOS Linux 4192.168.199.230Worker

Manager节点需要开启防火墙2377端口,不然Worker可能连接不到Manager。

sudo firewall-cmd --add-port=2377/tcp --permanent
sudo firewall-cmd --reload

操作

在Manager节点进行初始化

docker swarm init

Worker节点加入Manager节点

docker swarm join --token SWMTKN-1-1km0mjm3kf08yil99y7etsqo1oid9g8y6034osr35mvtfrf1m4-b5q4tfskbjpd28v55nsijh3kg 192.168.199.228:2377

在Manager节点查看已有节点

docker node ls


接下来创建3个nginx服务,创建服务等操作都只需要在Manager节点进行,但是在部署前,先需要保证集群中所有节点都预先有了要使用的镜像

docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine

这时,访问3个Worker节点的IP都可以得到Welcome to nginx的默认主页。

docker service scale可以对一个服务运行的容器数量进行伸缩。

# 指定伸缩数量
sudo docker service scale nginx=5

docker service update可以对服务进行滚动升级

docker service update --image nginx:1.13.12-alpine nginx

如果出现问题,可以使用docker service rollback对服务进行版本回退。

docker service rollback nginx

尝试完成后,使用docker service rm删除服务,Worker节点的服务也就停止了。

Worker节点使用docker swarm leave就可以离开和集群的连接,Manager节点使用docker swarm leave --force解散集群即可。

以上是关于Docker Swarm实操初战的主要内容,如果未能解决你的问题,请参考以下文章

docker-swarm集群部署

Docker三剑客之Docker Swarm

docker-swarm

Docker 学习总结(74)—— Docker Swarm 全面总结

Docker三剑客之swarm

Docker swarm没有更新服务