【发布时间】:2022-01-01 23:50:28
【问题描述】:
我正在运行一个包含两个服务的 docker-compose 堆栈,我想多次缩放/重新缩放其中一个。
这是我的 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 的情况下,是否有任何可能的方法来做到这一点,但只需向堆栈中添加额外的容器?
【问题讨论】:
-
您是否尝试以不同的比例运行相同的命令,没有
build标志? -
我试过了,但似乎所有旧容器都在重新启动。
标签: docker docker-compose