如何从 docker-compose 文件中“--scale”

shi*_*nvu 17 docker docker-compose

假设我有以下docker-compose.yml文件:

version: '3'

services:
    load-balancer:
        ...
        ...

    web-application:
        ...
        ...
Run Code Online (Sandbox Code Playgroud)

如果我想使用 5 个副本运行此web-application命令,我必须发出以下命令:

docker-compose up --scale web-application=5

有什么方法可以告诉 Docker--scale web-application=5从文件中执行该操作吗docker-compose.yml

Dan*_*nyB 24

仅当工作在 swarm 模式下时,您才可以在 docker-compose 中指定副本数量。

请参阅deploy指令。

例子:

services:
  redis:
    image: redis:latest
    deploy:
      replicas: 2
Run Code Online (Sandbox Code Playgroud)

从文档中:

这仅在使用 docker stack deploy 部署到 swarm 时生效,并且会被 docker-compose up 和 docker-compose run 忽略。

最后,在这个 GitHub 问题中对此功能进行了一些讨论(因为它曾经是可能的),这里是最新的 compose 规范中的提及。


小智 5

我在 docker compose 文件中测试了副本,对我有用的代码如下。\n具有 5 个副本的 docker 容器示例

\n

您应该使用 docker-compose up -d 执行 configuraci\xc3\xb3n

\n

您应该会看到接下来的结果。\n结果。

\n

Web 浏览器中的结果应如下所示:\nWeb 浏览器中的 nginx

\n

  • 我记得读过这只能在“群体”模式下实现。您是否必须在系统上打开“群”模式之类的功能才能使其正常工作? (3认同)