创建Swarm
在完成安装步骤以后,就可以准备创建Swarm。首先要确定Docker Engine 已经在所有的主机上已经运行起来。
打开终端通过ssh进入到manager节点,即进入本教程称之为manager1的宿主机。如果你使用Docker Machine,你可以通过如下命令进入宿主机manager1:
$ docker-machine ssh manager1
执行如下命令创建一个新的Swarm:
docker swarm init --advertise-addr <MANAGER-IP>
注意:如果你使用Docker for Mac或者Docker for Windows实验单节点Swarm,那么命令后面就不要加任何参数。这种情况下不需要指定
--advertise-addr
。在本教程重,执行如下命令在manager1主机上创建一个swarm:
$ docker swarm init --advertise-addr 192.168.99.100 Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168.99.100:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
参数
--advertise-addr
将功能对外公布manager节点的IP地址为192.168.99.100
。其他节点必须能够通过这个IP地址访问到该节点。我们可以看见输出的结果包含了一条在Swarm中添加新节点的命令。节点将依赖参数
--token
,作为manager或者worker加入Swarm。运行
docker info
命令查看Swarm的当前状态。$ docker info Containers: 2 Running: 0 Paused: 0 Stopped: 2 ...snip... Swarm: active NodeID: dxn1zf6l61qsb1josjja83ngz Is Manager: true Managers: 1 Nodes: 1 ...snip...
运行
docker node ls
命令查看节点的信息。$ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS dxn1zf6l61qsb1josjja83ngz * manager1 Ready Active Leader
*
表示当前链接的节点,即我们执行操作命令的节点。Docker Engine在swarm模式下,使用宿主机的host name来命名节点。