在docker中改变环境 - 组成

时间:2018-01-04 03:47:16

标签: docker-compose

我是码头工人的新手。

这是我简单的docker-compose文件。

version: '3.4'
services:
  web: 
    image: 'myimage:latest'
    build: .
    ports: 
      - "5265:5265"
    environment: 
      - NODE_ENV=production

要运行它,我通常使用docker-compose up命令。 我可以在运行docker-compose时将NODE_ENV变量更改为任何内容吗?

例如:

docker-compose up -x NODE_ENV=staging

1 个答案:

答案 0 :(得分:0)

使用docker-compose run,您可以管理服务,但不能管理完整的堆栈。对于一次性命令很有用。

$ docker-compose run -d -e NODE_ENV=staging web  
Ref - https://docs.docker.com/compose/reference/run/

我现在最好的方式就是使用shell&在执行docker-compose up之前导出环境变量,如下所示 -

$ export NODE_ENV=staging && docker-compose up -d

你的docker-compose看起来如下所示 -

version: '3.4'
services:
  web: 
    image: 'myimage:latest'
    build: .
    ports: 
      - "5265:5265"
    environment: 
      - NODE_ENV=${NODE_ENV}