如何在不重新启动容器的情况下重新缩放已经 运行 docker-compose?
How can I rescale an already running docker-compose without restarting containers?
我是 运行 一个 docker-compose 堆栈,有两个服务,我想 scale/rescale 其中一个服务多次。
这是我的docker-compose.yaml文件:
version: '3.8'
services:
manager:
hostname: manager
build:
context: .
dockerfile: manager.ubuntu.Dockerfile
restart: always
ports:
- '7777:80'
volumes:
- './src:/src'
- './app:/var/www/html'
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
tty: true
networks:
- my-net
worker:
build:
context: .
dockerfile: worker.dind.Dockerfile
restart: always
privileged: true
tty: true
networks:
- my-net
networks:
my-net:
我是这样缩放的:
docker-compose -p stack up --scale worker=3 --build
这是第一个结果:
... NAMES
... stack_manager_1
... stack_worker_1
... stack_worker_2
... stack_worker_3
现在我有 3 个工人和 1 个经理 运行 我有时想重新调整以添加例如 2 个工人而不影响其他容器的当前状态。
重新缩放后的预期结果
... NAMES
... stack_manager_1
... stack_worker_1
... stack_worker_2
... stack_worker_3
... stack_worker_4
... stack_worker_5
是否有任何可能的方法来做到这一点 I don't want any container to be stopped or restarted
但只需将额外的容器添加到堆栈中?
您可以使用“--no-recreate”来完成,例如:
docker-compose -up -d --scale worker=3 --no-recreate
查看:
我是 运行 一个 docker-compose 堆栈,有两个服务,我想 scale/rescale 其中一个服务多次。
这是我的docker-compose.yaml文件:
version: '3.8'
services:
manager:
hostname: manager
build:
context: .
dockerfile: manager.ubuntu.Dockerfile
restart: always
ports:
- '7777:80'
volumes:
- './src:/src'
- './app:/var/www/html'
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
tty: true
networks:
- my-net
worker:
build:
context: .
dockerfile: worker.dind.Dockerfile
restart: always
privileged: true
tty: true
networks:
- my-net
networks:
my-net:
我是这样缩放的:
docker-compose -p stack up --scale worker=3 --build
这是第一个结果:
... NAMES
... stack_manager_1
... stack_worker_1
... stack_worker_2
... stack_worker_3
现在我有 3 个工人和 1 个经理 运行 我有时想重新调整以添加例如 2 个工人而不影响其他容器的当前状态。
重新缩放后的预期结果
... NAMES
... stack_manager_1
... stack_worker_1
... stack_worker_2
... stack_worker_3
... stack_worker_4
... stack_worker_5
是否有任何可能的方法来做到这一点 I don't want any container to be stopped or restarted
但只需将额外的容器添加到堆栈中?
您可以使用“--no-recreate”来完成,例如:
docker-compose -up -d --scale worker=3 --no-recreate
查看: