1.docker swarm 是用来部署集群的,通俗点说就是可以把一个应用程序部署到多台机器上,然后不管访问哪个机器,总能找到对应的服务,即使该机器上没有服务节点。
2.购买阿里云服务器
登录阿里云 -> 控制台 -> 云服务ecs -> 创建实例
网络和安全组配置
后续的就填默认的就好。
3.创建集群
1.初始化集群,也就是一个服务
2.创建其他manager 节点或者worker 节点
2.1创建主节点
2.2创建worker节点
2.3查看建立的集群
注意运行docker swarm 命令只能在manager节点上运行,worker是不可以的
docker swarm 中较常用的命令有如下:
3.服务建立
3.1 创建服务
这样启动一个服务实例会在集群中随机选取一个主机进行部署
访问下试试
3.2 服务的扩缩容
服务会被随机的分配到加入到swarm中的机器上,不管访问swarm中的哪个机器,都可以访问到服务。
4.raft选举策略
raft选举策略应用在很多地方,在docker swarm里面也是有,raft保证了集群中存活的manager会大于1个,一般设置manager的个数为3个,如果manager 节点个数为3个,那么如果有一个挂了,那么还有两个是存活的,那么manager还是可以用的,但是如果两个manager挂了,那么manager 久不能用了,这是用来保证docker swarm高可用机制的。
docker run是只能运行一个容器,docker compose是将可以一键运行多个容器(一个应用程序会依赖多个服务),docker swarm 是可以运行集群,另外以docker swarm 开头的命令是创建集群的相关的,也就是如何将机器加入到swarm,docker node 开头的就是,而docker service 开头是和创建服务相关的命令,这里的服务其实可以看成和容器差不多,只是服务可以一键扩展,扩展的服务就是部署到swarm中
文章评论