如何将变量从.env文件传递到Docker?

时间:2017-10-31 12:04:13

标签: docker docker-compose

我有一个.env文件,在我的节点项目的根目录中有一大堆变量。在root中也是我的docker-compose.yml文件:

version: '3'

services:
  api:
    build: .
    env_file:
      - .env
    ports:
      - 5000:5000

我正在尝试将这些变量传递给Docker(from here),但是当我运行docker-compose up时,我在我的节点应用中遇到错误,因为它没有访问权限这些变量。我究竟做错了什么?感谢。

1 个答案:

答案 0 :(得分:3)

将文件名更改为与node.env不同的名称。 docker-compose本身使用.env文件来定义docker-compose文件本身的内容。

示例:

$ cat .env
TAG=v1.5

$ cat docker-compose.yml
version: '3'
services:
  web:
    image: "webapp:${TAG}"

此文件的内容未在docker实例本身内使用。