docker swarm 是一个用于建立Docker主机(运行Docker守护进程的服务器)集群的工具,它是docker原生的集群管理工具。使用Swarm操做集群,会使用户感受就像是在一台主机上进行操做。它使用标准的docker API,这意味着其余使用Docker API的工具好比compose一样也能使用swarm。 ##基本架构 swarm的基本架构很简单,它只是一个分配与调度器,大致上分为四种结构:node
** 说明:**前两种模式都不须要在docker主机上安装任何代理软件,只须要在swarm管理机中指定docker主机和端口号便可,discovery模式须要在每一个主机上运行一个swarm代理(也就是swarm join),一个主机运行swarm管理器(也就是swarm manage)。git
本次实验为了简化复杂度,也是为了更快地对swarm有个直观的了解,咱们采用swarm的节点模式。github
** 机器分配 **docker
IP----------------角色shell
192.168.0.201 Docker主机服务器
192.168.0.202 Docker主机架构
192.168.0.203 Swarm管理机tcp
** 第一步 **工具
把全部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
便可看到集群的状态。