版权声明:欢迎交流,菲宇运维!
初始化swarm manager并制定网卡地址
docker swarm init --advertise-addr 192.168.10.117
强制删除集群,如果是manager,需要加–force
docker swarm leave --force
docker node rm docker-118
查看swarm worker的连接令牌
docker swarm join-token worker
查看swarm manager的连接令牌
docker swarm join-token manager
使旧令牌无效并生成新令牌
docker swarm join-token --rotate
docker swarm join --token SWMTKN-1-5d2ipwo8jqdsiesv6ixze20w2toclys76gyu4zdoiaf038voxj-8sbxe79rx5qt14ol14gxxa3wf 192.168.10.117:2377
docker node ls
docker node inspect docker-117 --pretty
docker node update --availability active docker-118
docker node update --availability pause docker-118
docker node update --availability drain docker-118
docker node update --label-add label1 --label-add bar=label2 docker-117
docker node update --label-rm label1 docker-117
docker node promote docker-118
docker node demote docker-118
docker service ls
docker service ps redis
docker service create nginx
docker service create --name my_web nginx
docker service create --name helloworld alping ping docker.com
docker service create --name helloworld alping:3.6 ping docker.com
docker service create --name my_web --replicas 3 -p 80:80 nginx
docker service update --publish-add 80:80 my_web
docker service update --publish-rm 80:80 my_web
docker service update --image redis:3.0.7 redis
docker service create --name helloworld --env MYVAR=myvalue --workdir /tmp --user my_user alping ping docker.com
docker service create --name helloworld alpine ping docker.com
docker service update --args “ping www.baidu.com” helloworld
docker service rm my_web
docker service create --name tomcat --mode global --publish mode=host,target=8080,published=8080 tomcat:latest
docker network create --driver overlay my_network
docker network create --driver overlay --subnet 10.10.10.0/24 --gateway 10.10.10.1 my-network
docker service create --name test --replicas 3 --network my-network redis
docker service update --network-rm my-network test
docker service update --network-add my_network test
docker service create --name my_nginx --reserve-cpu 2 --reserve-memory 512m --replicas 3 nginx
docker service update --reserve-cpu 1 --reserve-memory 256m my_nginx
--update-parallelism
--update-delay
--update-monitor
--update-max-failure-ratio
--update-failure-action
docker service create --name mysql_5_6_36 --replicas 3 --update-delay 10s --update-parallelism 1 --update-monitor 30s --update-failure-action pause --update-max-failure-ratio 0.1 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.36
docker service update --rollback mysql
如果服务部署失败,则每次回滚2个任务,监控20秒,回滚可接受失败率20%
docker service create --name redis --replicas 6 --rollback-parallelism 2 --rollback-monitor 20s --rollback-max-failure-ratio .2 redis:latest
docker service create --name mysql --publish 3306:3306 --mount type=bind,src=/data/mysql,dst=/var/lib/mysql --replicas 3 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.36
1、绑定的主机路径必须存在于每个集群节点上,否则会有问题 2、调度程序可能会在任何时候重新安排运行服务容器,如果目标节点主机变得不健康或无法访问 3、主机绑定数据不可移植,当你绑定安装时,不能保证你的应用程序开发方式与生产中的运行方式相同
添加swarm配置
echo "this is a mysql config" | docker config create mysql -
docker config ls
查看配置详细信息
docker config inspect mysql
删除配置
docker config rm mysql
添加配置
docker service update --config-add mysql mysql
删除配置
docker service update --config-rm mysql mysql
添加配置
docker config create homepage index.html
启动容器的同时添加配置
docker service create --name nginx --publish 80:80 --replicas 3 --config src=homepage,target=/usr/share/nginx/html/index.html nginx