Docker学习-Swarm部署Tomcat集群

Docker学习-Swarm部署Tomcat集群

一、Swarm集群搭建

1.准备工作

准备(至少)四台机器,都安装Docker环境。4台机器命名:docker1docker2docker3docker4

[root@iZuf60iq1x5h6s5apkzxd3Z ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.7
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        f0df350
 Built:             Wed Jun  2 11:58:10 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

2.搭建swarm集群

  1. 设置docker1主节点
# 生成主节点
[root@iZuf60iq1x5h6s5apkzxd3Z ~]# docker swarm init --advertise-addr 172.24.4.239
Swarm initialized: current node (j144wi0g40vo5z7gw784bhh7x) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-423dqj251m4z15o45r3fl9u8ze2r2tqvng0xzbut3stf3v410p-a09qghib4prxs2eq9zjcareze 172.24.4.239:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  1. 设置docker2worker工作节点
docker swarm join --token SWMTKN-1-423dqj251m4z15o45r3fl9u8ze2r2tqvng0xzbut3stf3v410p-a09qghib4prxs2eq9zjcareze 172.24.4.239:2377

此时加入可能提示加入失败,可能是防火墙没关

# 查看manage节点机器上防火墙状态
systemctl status firewalld.service
# 停止防火墙
systemctl stop firewalld.service
# 永久停止
systemctl disable firewalld.service
  1. 设置docker3manager节点,docker4worker节点
# 获取 worker 工作节点token命令
docker swarm join-token worker
# docker4 加入
docker swarm join --token SWMTKN-1-423dqj251m4z15o45r3fl9u8ze2r2tqvng0xzbut3stf3v410p-a09qghib4prxs2eq9zjcareze 172.24.4.239:2377

# 获取 manager 工作节点token命令
docker swarm join-token manager
# docker3 加入
docker swarm join --token SWMTKN-1-423dqj251m4z15o45r3fl9u8ze2r2tqvng0xzbut3stf3v410p-awfk6uhbwth8e76o1r2uaw78s 172.24.4.239:2377
  1. 查看节点情况
[root@iZuf60iq1x5h6s5apkzxd3Z ~]# docker node ls
ID                            HOSTNAME                  STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
j144wi0g40vo5z7gw784bhh7x *   iZuf60iq1x5h6s5apkzxd3Z   Ready     Active         Leader           20.10.7
  1. 节点退出集群
docker swarm leave
  1. 了解
> docker stack:docker-compose集群版本
> docker serect:安全证书、密码
> docker config:配置

二、部署Tomcat镜像集群

验证Swarm集群环境

1.创建名为tomcat-net的覆盖网络(Overlay Netowork),这是个二层网络,处于该网络下的docker容器,即使宿主机不一样,也能相互访问:

docker network create -d overlay tomcat-net

2.创建名为tomcat的服务,使用了刚才创建的覆盖网络:

docker service create --name tomcat-swarm-test \
--network tomcat-net \
-p 58080:8080 \
--replicas 2 \
--mount type=bind,src=/data/tomcat/webapps,dst=/usr/local/tomcat/webapps,readonly \
--mount type=bind,src=/data/tomcat/log,dst=/usr/local/tomcat/logs,readonly \
tomcat:8

# 参数解析
--replicas 2 设置集群副本数量
--mount type=bind,src=/data/tomcat/webapps,dst=/usr/local/tomcat/webapps,readonly
设置tomcat文件挂载

3.执行命令docker service ls查看当前所有服务:

[root@host201 tomcat]# docker service ls
ID             NAME                MODE         REPLICAS   IMAGE      PORTS
0c5s48acn634   tomcat-swarm-test   replicated   2/2        tomcat:8   *:58080->8080/tcp

4.执行命令docker service ps tomcat-swarm-test查看名为tomcat的服务,可见两个容器分别部署在host201host202机器上

[root@host201 tomcat]# docker service ps tomcat-swarm-test 
ID             NAME                  IMAGE      NODE      DESIRED STATE   CURRENT STATE            ERROR     PORTS
smjj4esupws9   tomcat-swarm-test.1   tomcat:8   host202   Running         Running 16 minutes ago             
k7g0c97vgjyx   tomcat-swarm-test.2   tomcat:8   host201   Running         Running 16 minutes ago
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值