在组件启动时指定环境

Specify environment on start of component

我们正在进行基于 docker 的构建和部署,下面提到的是我们的 docker-compose.yml 文件。

web:
  image: stage.example.com/logcomponent:latest
  ports:
    - "80"
  environment:
    NODE_ENV: DEV

我们运行它使用docker-compose up -d。有没有办法从命令中指定 NODE_ENV 值,例如docker-compose up -d PRODdocker-compose up -d DEV?

提前致谢。

撰写手册说您可以声明一个没有其内容的环境变量(并且它从主机泄漏):

https://docs.docker.com/compose/yml/#environment

你的声明可以这样写:

web:
  image: stage.xxx.com/logcomponent:latest
  ports:
    - "80"
  environment:
    NODE_ENV:

然后,当您从命令行调出组合时:

NODE_ENV=DEV docker-compose up -d.