概述
docker swarm 是一个用于创建Docker主机(运行Docker守护进程的服务器)集群的工具,它是docker原生的集群管理工具。使用Swarm操作集群,会使用户感觉就像是在一台主机上进行操作。它使用标准的docker API,这意味着其他使用Docker API的工具比如compose同样也能使用swarm。 ##基本架构 swarm的基本架构很简单,它只是一个分配与调度器,大体上分为四种结构:
- 第一种就是文件模式
- 每二种是节点模式
- 第三种是token模式
- 第四种是discovery模式
** 说明:**前两种模式都不需要在docker主机上安装任何代理软件,只需要在swarm管理机中指定docker主机和端口号即可,discovery模式需要在每个主机上运行一个swarm代理(也就是swarm join),一个主机运行swarm管理器(也就是swarm manage)。
实验
本次实验为了简化复杂度,也是为了更快地对swarm有个直观的了解,我们采用swarm的节点模式。
** 机器分配 **
IP----------------角色
192.168.0.201 Docker主机
192.168.0.202 Docker主机
192.168.0.203 Swarm管理机
** 第一步 **
把所有docker主机上的监听模式都改为端口监听方式,可以在配置文件中增加如下配置:
DOCKER_OPTS=" -H tcp://0.0.0.0:2375 "
重启docker。
** 第二步 **
我并没有采用官方给出的使用容器的方式,而是从GITHUB上下载的源码编译安装的,也就是说192.168.0.203主机上没有任何docker运行环境,纯粹地一台应用服务器。 在swarm管理机上启动swarm管理,命令如下:
swarm manage nodes://192.168.0.201:2375,192.168.0.202:2375 -H 192.168.0.203:2375
这样整个swarm集群就已经搭起来了。 访问时,只需要在任何一台安装了docker的客户机上执行如下的命令:
docker -H 192.168.0.203:2375 info
即可看到集群的状态。
来源:oschina
链接:https://my.oschina.net/u/266752/blog/544506