projectharbor 2019-06-28
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}