admin

docker swarm集群操作笔记

admin 虚拟化 2023-11-21 241061浏览 649

管理节点初始化swarm

docker swarm init --advertise-addr 192.168.9.74

image.png

根据执行提示:

再工作节点加入swarm集群:

192.168.9.75

docker swarm join --token SWMTKN-1-67wz086sgy9osr43nxryokw9gbm5cnnguuqui5j1au3gwg2inw-62hp585anas25roi8o6cfx8rm 192.168.9.74:2377

image.png

192.168.9.76

docker swarm join --token SWMTKN-1-67wz086sgy9osr43nxryokw9gbm5cnnguuqui5j1au3gwg2inw-62hp585anas25roi8o6cfx8rm 192.168.9.74:2377

image.png

...

查看集群节点

#docker node ls

image.png


详细笔记操作:

#创建服务

docker service create --replicas 1 --name web01 nginx


#显示服务详细信息

docker service inspect -pretty web01 # 易于阅读显示docker service inspect hello #json格式返回

#扩展服务实例数 (缩容扩容)

docker service scale web01=3

#查看服务任务

docker service ls

docker service ps web01

查看在运行的任务

docker service ps -f'desired-state=running' web01


#更新镜像

docker service update --image nginx:1.12 web01


#对上次一次更新进行回滚

docker service update --rollback web01

#滚动更新服务

#滚动更新的策略 时间间隔,每更新一个等待10秒

docker service create --replicas 3 --name redis -update-delay 10s redis:3.06

#更换镜像

docker service update --image redis:3.0.7 redis

#限制cpu使用50%

docker service update --limit-cpu=0.5 web01


#查看某个服务配置详情

docker service inspect web01

#创建服务时设定更新策略(指定任务数为2,更新某个任务失败继续操作)

docker service create

name web02 --replicas 10 --update-delay 10s --update-parallelism 2 --update-failure-action continue nginx:1.12

#创建服务时设定回滚策略(同时回滚2个任务、回滚监控20秒、最大错误率20%)

docker service create --name web03 --replicas 10 --rollback-parallelism 2 --rollback-monitor 20s 

--rollback-max-failure-ratio .2 nginx:1.12

#服务更新

docker service update --image nginx:1.13 web03

#手动回滚

docker service update --rollback web03


创建数据卷

#挂载到容器,src=数据卷名称,dst容器路径

docker service create --mount type=volume,src=web-data,dst=/opt/web --replicas 1 --name web04 nginx


#挂载目录到容器,注意,集群内的宿主机都需要有/opt/web,因为会随机分配

docker service create --mount type=bind,src=/opt/web,dst=/mnt --replicas 1 --name web08 nginx


#创建swarm集群

docker service create --replicas 3 --name web09 -p 88:80 nginx

#查看实时日志

docker service logs web09 -f


#查看ingress网段

docker network inspect ingress


#创建swarm集群,如果需要映射udp端口

docker service create --replicas 3 --name web09 -p 88:80/udp nginx

创建网络

#列出docker网络

docker network ls

#创建docker网络

docker network create --driver overlay my-web

#创建集群指定网络

docker service create --replicas 3 --name web09 -p 88:80 --network my-web nginx


创建配置文件

#将nginx.conf 保存到docker配置中

docker config create nginx-web-config /opt/nginx.conf

docker config ls


#创建一个nginx并应用这个配置

docker service create --name web-nginx --config source=nginx-web-config,target=/etc/nginx/nginx.conf -p 80:80 nginx




版权声明

本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。