一 docker 版本1.13及以上,compose版本1.11及以上。docker的搭建和运行compose参考官方文档完成

二  docker swarm 和compose 简介

Docker宣布在1.12版的引擎中内置编排能力,也就是 Swarm Mode,在容器之上引入了服务(service)的概念,也实验性的推出了应用栈(stack)来支持多服务应用的部署管理。但是 Docker 1.12 版本,服务的开发和操作缺乏类似Docker Compose工具的支持,而且由于Docker Compose v1/v2是面向容器编排设计,和Swarm Mode中的概念上有很多不同。只可以用 docker-compose bundle 命令将已有 docker-compose.yml 转换为 Distributed Application Bundle 才能在Swarm mode中部署,非常不便,而且更为严重的是很多功能不支持,导致很多现有编排模板无法直接使用。

在2017年1月发布的 Docker 1.13版本中,Swarm mode迅速成熟,相应的工具支持也进一步完善。 Docker Compose v3 规范,已经全面支持 Swarm mode 概念。而且从 1.13 开始,Docker 命令行工具支持直接使用 v3 版本的 docker-compose.yml 文件来进行应用栈(stack)部署管理,这大大简化了容器编排使用的复杂性。

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
三 案例一

本案例中,使用docker  swarm集群,用compose文件来生成容器,并通过compose文件中的定义来确定容器具体在哪个主机生成,适合测试环境

具体的参数,看最后面的解释

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
此处不多说,直接帖compse文件

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

创建容器

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
查看网络网桥

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
查看容器所在的主机位置
docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
删除所有的容器

docker  stack  rm   bz

四 案例二

试验环境(docker swarm 搭建参考官网)此种方法适合用在线上
docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
compose文件

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
生成容器

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)

确定容器的位置

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
验证swarm的高可用,直接把主节点
docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
可以看到test1 位主节点,上面有2个容器 tomcat1 和nginx

停掉test1,来test2 上面看效果

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
可以看到test3成为主节点。我们在来看tomcat1和nginx

docker <wbr>swarm <wbr>和compose部署服务,解决跨主机网路问题和ip不固定问题(二)
replicas:定义 replicated 模式的服务的复本数量

placement:定义服务容器的部署放置约束条件
docker swarm 自带负载均衡功能,可以直接使用 docker service scale 服务名=n 来直接生成

参考文档:

https://www.oschina.net/news/81118/docker-1-13-0

http://www.cnblogs.com/atuotuo/p/6588331.html

https://yq.aliyun.com/articles/69444

http://www.troylc.cc/docker-compose/2017/02/25/Docker08docker-compose01.html

http://blog.daocloud.io/unfhdockerswarm/

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐