将唯一 ID 传递给 Docker Compose 服务实例

Mic*_*icz 7 docker docker-compose

我必须部署一个第三方 Web 应用程序,前端服务器充当负载均衡器,并在其后面部署多个实际应用程序服务器的实例。出于与我无关的原因,我必须将唯一 id 作为环境变量传递给每个应用服务器实例。我的 docker-compose.yml 简化后如下:

version: '3'
services:
  lb:
    image: lb_image
  app:
    image: app_image
    depends_on:
      - lb
    links:
      - "server:lb"
    environment:
      - LB_HOST=server
Run Code Online (Sandbox Code Playgroud)

现在,我想运行:

docker-compose up -d --scale app=3
Run Code Online (Sandbox Code Playgroud)

但传递给每个实例不同的环境变量值。我听说过模板,有这样的东西会很好:

environment:
  - CONTAINER_ID={{.Node.Id}}
Run Code Online (Sandbox Code Playgroud)

在我的 docker-compose.yml 中,是否有可能(到目前为止我听说过的每个解决方案都涉及编写外部脚本,在我看来,这完全放弃了使用 Compose 的好处)?