提示
swarm 是docker内置的轻量级容器编排工具,其中的主机称为master,节点机称为worker。
swarm 中的的服务只可以通过镜像创建。镜像获取方式为本地&远程。远程会默认去docker默认仓库获取,速度十分缓慢,强烈建议不要用!
为了方便更新镜像同时同步到多点集群环境,最好自建私有仓库来使用。自建私有仓库的方式由另外一篇文章讲解。
docker版本为1.13.1
创建manager
> docker swarm init --listen-addr 172.16.230.176:8888 --advertise-addr 172.16.230.176
172.16.230.176为当前主机的IP,8888为对外worker开放的连接端口。
加入集群(在worker中使用)
> docker swarm join --token SWMTKN-1-0lqygi9d86aidh40a71dl2d4x4heaz8u8vhtojrhtybpqlr47s-1vp4t64vl7q4argkuwu8a0rjx 172.16.230.176:8888
swarm init 完成后,系统会自动创建该语句,可直接在worker机器上使用。
查看节点
> docker node ls
删除某节点
> docker node rm ${NODE_ID}
创建服务
> docker service create --replicas 1 --name ${serviceName} ${imageName}
服务动态扩容
> docker service scale ${serviceName}=5
查看服务状态
> docker service ps ${serviceName}
> docker service ls
回滚服务
> docker service rollback ${serviceName}
更新服务
> docker service update --publish-add 8080:8080 ${serviceName}
> docker service update --image ${imageName} ${serviceName}
--publish-add 可修改服务对外端口。
--image 可修改服务对应的镜像。
移除服务
docker service remove &{serviceName || serviceId}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。