使用docker-compose.yml在docker容器中未设置环境变量

时间:2018-06-08 09:15:54

标签: docker environment-variables

我有一个.env文件,如下所示:

# DEV
SALES_DB_HOST=xxx

然后我有一个docker-compose.yml文件,如下所示:

version: "3.1"
services:
  web:
    image: xxx
    build: .
    env_file: .env

但是,在像process.env.SALES_DB_HOST这样的nodejs中访问时,环境变量的值会打印undefined

docker-compose config的输出是:

services:
  web:
    build:
      context: xxxxxxxx
    environment:
      SALES_DB_HOST: xxx
    image: xxxxx
version: '3.1'

因此,看起来docker-compose.yml形成正确。但是为什么process.env无法正确获得此值?

编辑:

我用:docker build -t my_image .

构建了泊坞窗图像

2 个答案:

答案 0 :(得分:1)

您可以在yml文件中更改容器配置的命令吗? 您应该尝试测试您的环境以了解 - 哪里出了问题。在泊坞窗或代码中。

尝试这样的事情:

article_detail.html

答案 1 :(得分:0)

这不是码头工人的问题。 看看你的代码:

process.env.process.env.SALES_DB_HOST

这是错字。的 process.env.process.env

你应该使用

process.env.SALES_DB_HOST