创建一个swarm集群
-
创建一个管理机器
使用
docker-machine
创建一个管理机器manager1
docker-machine create --driver virtualbox manager1
-
连接管理机器
docker-machine ssh manager1
-
将该机器初始化为swarm的管理机器
在这之前可以先使用
docker-machine ip manager1
查看manager1的ip地址docker swarm init --advertise-addr 192.168.99.101
-
查看swarm的当前状态
docker info
-
查看节点信息
docker node ls
在
*
旁边的节点ID表明当前连接此节点上。
将节点添加到集群中
-
创建2个节点机器分别为
worker1
和worker2
docker-machine create --driver virtualbox worker1 docker-machine create --driver virtualbox worker2
-
同样的使用ssh连接到节点机器,以
worker1
为例docker-machine ssh worker1
-
将当前机器作为节点加入swarm
docker swarm join --token SWMTKN-1-2s6afc25ee1sygab055hct8ydjyb9x7jgyu0ycbwrvs24fpf36-9l7f7v5pk9q39o6rji0b3qk4w 192.168.99.101:2377
如果这里没有记住之前的加入命令,可以去manager机器上使用命令
docker swarm join-token worker
查看加入命令 -
以同样的方式创建第二台机器并加入集群
将服务部署到swarm
-
在管理机器上部署服务
docker service create --replicas 1 --name helloworld alpine ping docker.com
docker service create
创建服务--replicas 1
创建几个服务--name helloworld
服务名为helloworldalpine ping docker.com
使用alpine容器 执行命令ping docker.com
-
检查服务
查看helloword的服务详情
docker service inspect helloworld docker service inspect helloworld --pretty
可以ssh到节点上,并在节点上查看服务状态,这里在manager1节点上
-
横向扩展服务
在管理节点上更改服务个数
docker service scale helloworld=5
查看服务状态
docker service ls docker service ps helloword
-
删除服务
docker service rm helloworld