今天更新下Docker swarm集群和集群容错测试,把相关过程记录下来。
1、如下拓扑:
2、环境说明:
3、创建一个nfs挂载目录,用于存放wordpress代码(63.217):
4、挂载/web目录(worker):
5、把我们在Dockerfile构建的镜像推送到本地仓库(这一块可以参考之前的博客,Dockerfile章节)
##为了worker节点下载速度快点,我们建议先docker pull到本地
6、构建Docker swarm集群63.217操作:
##在worker节点上面操作,加入这个集群:
7、查看集群的节点状态:
8、为了使得Docker swarm集群容器互相通讯,我们先创建一个overlay网络:
##注意内核版本要3.18以上,不够的话要升级
9、随机创建调度一个9000端口的Php service运行Docker容器:
10、启动nginx service:
11、再启动mysql service:
12、我们也可以在复制出一个web service:
13、看一下我们的容器到底运行在哪个linux主机上呢:
#####
14、我们已经确认所有的容器都已经起起来并且正常运行了,访问一下web就可以进行80端口的访问了,192.168.63.217:
###
####直接到安装完成:
15、为了测试高可用性,我们把node1节点关闭掉,看容器是否转移:
我们在node1执行关闭docker:
16、在master节点上查看一下状态:
17、我们可以看到node1节点已经Down,然后我们的Docker 容器也已经转移到了别的worker节点上:
##我们可以看到在node1节点上之前运行的容器已经shutdown了,然后转移到了master和node2上,再次访问也是不影响的:
##到处已经完成了,我们可以看到通过Docker swarm构建集群是非常简单的,那么有没有compose可以结合swarm呢?在compose v3版本之后就体现了这个功能的强大。
更多Docker相关教程见以下内容:
Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里