完整教程:docker集群,一个镜像部署多个
1、安装 Docker
初始化或加入 Docker Swarm 集群
初始化管理节点:
登录到作为管理节点的服务器的宝塔面板,点击左侧菜单栏中的 “终端”,打开命令行终端。
在终端中运行 docker swarm init 命令初始化 Swarm 管理节点。如果服务器有多块网卡,需要使用 --advertise-addr 参数指定用于集群通信的 IP 地址,例如:
docker swarm init --advertise-addr 192.168.1.100
2、查看,这时候空
docker service ls
3、创建镜像服务
docker service create --name my-nginx-service --replicas 2 --publish 8090:80 nginx:latest
–replicas 2表示创建两台,访问8090,轮询访问到不同docker
4、挂载卷
docker service create --name my-web-service --replicas 3 --mount type=bind,source=/data,target=/app/data nginx:latest
5、服务更新:如需更新服务,如更新镜像版本,可使用 docker service update 命令,例如:
docker service update --image nginx:1.21.0 my-web-service
6、扩展或缩减副本数
docker service scale my-web-service=5
查看,这时候就可以看到容器了,多个副本集群成一个查看,普通docker ps会看到多个
docker service ls
7、停止服务(实际上是删除服务,Swarm 没有单独的 “停止” 命令)
在 Docker Swarm 中,没有专门的 stop 命令用于暂停服务。如果需要停止服务,通常直接删除服务即可(服务关联的容器会自动终止):
# 删除指定服务(会自动停止所有副本容器)
docker service rm my-nginx-service
8、额外操作:如果需要先缩减副本数(可选)
如果只是想暂时减少副本数量(而非完全删除服务),可以使用 scale 命令将副本数调整为 0:
# 将服务副本数缩减到 0(所有容器会被停止)
docker service scale my-nginx-service=0
将服务副本数缩减到 0(所有容器会被停止)
docker service scale my-nginx-service=0
# 恢复为 2 个副本
docker service scale my-nginx-service=2
浙公网安备 33010602011771号