完整教程: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
posted @ 2025-08-27 12:10  yjbjingcha  阅读(66)  评论(0)    收藏  举报