docker-compose 使用循环创建服务

Tua*_*uan 7 docker docker-compose

是否可以使用 docker-compose 在循环中创建服务而不是手动键入所有服务?(请参阅下面的示例,使用适当的端口创建 100 个工人)

version: '3'
services:
  redis:
    image: redis
  worker1:
    build: .
    ports:
    - "5001:5001"
  worker2:
    build: .
    ports:
    - "5002:5002"
  worker3:
    build: .
    ports:
    - "5003:5003"

  ...

  worker100:
    build: .
    ports:
    - "5100:5100"
Run Code Online (Sandbox Code Playgroud)

小智 4

您可能可以使用该--scale选项来完成此操作,因此如果您运行docker-compose up --scale worker=100它,它应该完全符合您的要求。

docker-compose up 的文档引用如下:

--scale SERVICE=NUM        Scale SERVICE to NUM instances. Overrides the
                           `scale` setting in the Compose file if present.
Run Code Online (Sandbox Code Playgroud)

  • 使用比例选项时如何映射端口? (3认同)