将确切的环境变量从主机转发到容器

forward exact environment variables from host to container

我发现自己像这样重复:

services:
  noice-service:
    environment:
      - EUREKA_SERVICE_URL=${EUREKA_SERVICE_URL}
      - ZIPKIN_BASE_URL=${ZIPKIN_BASE_URL}
      - CONFIG_SERVER_URL=${CONFIG_SERVER_URL}

我已经在 .env 文件和其他脚本中定义了这些环境变量,我只想在容器中传递它们的确切值。在没有任何自定义 shell 脚本作为入口点的情况下,有没有更快的方法来实现这一目标?

可以直接传递变量:

# .env
DOTENV=foo
# docker-compose.yml
version: "3.7"
services:
  busybox:
    image: busybox
    command: ["env"]
    environment:
      - DOTENV
      - ANOTHER

和运行 ANOTHER=bar docker-compose up.