docker 集群
初始化集群
docker swarm init --advertise-addr ip:2377 --listen-addr ip:2337
添加manager节点
docker swarm join-token manage
添加worker节点
docker swarm join-token worker
查看信息
docker info
查看节点 manager节点执行
docker node ls
提升worker到manager
docker node promote 节点ID
离开集群:
docker swarm leave --force
创建service
docker service create --name testname -p 80:80 --replicas 5 images:tag
查看service
docker servcie ls
查看集群service
docker service ps testname
docker service inspect testname
跟新:
docker service update --replicas 7 testname
等效的命令:docker scale testname=7
查看节点运行哪些任务:
docker node ps nodename(nodename: docker service ps testname获取)
删除service:
docker service rm testname
docker node ps self
创建network网络;
docker network create -d overlay {my-net}
查看network
docker network ls
再创建service,指定network网络
docker service create --name testname --network my-net -p 80:80 --replicas 5 images:tag
docker service inspect --pretty testname
更新策略:
parallenlism: 1 更新的时候一个一个更新
更新策略:--update-parallelism 2 两个两个更新, --update-delay 10s :更新间隔 10秒
docker service update --image image:tag --update-parallelism 2 --update-delay 10s testname
manager最好是奇数个,达成共识,如果是偶数个,可能造成平局状态
============
挂载路径必须在每个节点上都存在
docker service create --replicas 4 --name test_chow --update-delay 10s --update-parallelism 2 --update-failure-action continue --rollback-monitor 20s --rollback-max-failure-ratio .3 --mount type=bind,src=/tmp/test_chow,dst=/tmp --publish 8180:80 nginx:1.17