在docker中改变环境 - 组成

问题描述 投票:0回答:1

我是码头工人的新手。

这是我简单的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
docker-compose
1个回答
0
投票

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

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

要么

我现在可以看到最好的方法是在执行docker-compose up之前使用shell并导出环境变量,如下所示 -

$ 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}
© www.soinside.com 2019 - 2024. All rights reserved.