在组件启动时指定环境

use*_*185 1 docker docker-compose

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

web:
  image: stage.example.com/logcomponent:latest
  ports:
    - "80"
  environment:
    NODE_ENV: DEV
Run Code Online (Sandbox Code Playgroud)

我们正在使用它docker-compose up -d.有没有办法NODE_ENV从命令中指定值,例如docker-compose up -d PRODdocker-compose up -d DEV

提前致谢.

Gre*_*reg 8

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

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

您的声明可以这样写:

web:
  image: stage.xxx.com/logcomponent:latest
  ports:
    - "80"
  environment:
    NODE_ENV:
Run Code Online (Sandbox Code Playgroud)

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

NODE_ENV=DEV docker-compose up -d.
Run Code Online (Sandbox Code Playgroud)