Swarm的使用
本篇讲解Swarm的使用,在上一篇文章中,你已经知道了,如何在生产环境中定义一个服务,
并且按照5倍的比例在进程中扩大。
那么本篇了?就是教你发布应用到集群(cluster),在多台机器上运行一个应用。
多个容器的应用被加入多台机器里,被称为容器化(Dockerized)集群,就是我们所说的Swarm。
1. 理解Swarm集群
一个Swarm是一组机器运行在Docker里,并且加入到了一个集群。
过去你可以使用Docker命令来操作;
但是现在,都是在集群里通过swarm manager来执行的。
在swarm里的机器可以是物理的机器,也可以是虚拟机器。
当一个机器加入到一个swarm后,这个机器就被成为节点。
swarm manager可以使用几种策略来运行容器,例如:空节点(emptiest node)。
swarm manager在swarm集群里是仅有的可执行你的命令的机器,它可以授权其他机器加入到这个swarm集群,
这些其他机器就被称为工作者(worker)。
这些worker就是在那里提供生产力,但是它不会被授权去告诉其他机器它能做什么和不能做什么。
到现在,你在你的机器上已经会使用了单机模式(single-host mode)的Docker,所以将Docker切换为swarm mode,这取决于你的需要。
一旦启用为swarm mode之后,你的当前机器就是swarm manager了。
2. 设置你的swarm
一个swarm是有多个节点(nodes)组成,这些节点可以是物理的,也可以是虚拟的,这个基本概念足够了。
运行 docker swarm init
启用swarm mode,并且让你当前机器成为swarm manager,
然后运行 docker swarm join
在其他机器上让他们加入到这个swarm成为工作者(worker).
3. 创建一个集群
3.1 确保你的机器已经安装了VirtualBox,下载VirtualBox
3.2 创建两个VMs
$ docker-machine create --driver virtualbox myvm1
$ docker-machine create --driver virtualbox myvm2
运行第一句命令的时候出错了,如下,还在找着原因:
未完待续