使用 Dockerfile 从 .env 环境文件中的变量定义变量

时间:2021-06-29 06:44:34

标签: docker dockerfile

我可以使用 --env-file /path/to/.env 来定义变量。有没有办法从同一文件中先前定义的变量中定义变量?示例:

SOME_USER=good_user
ROOT_USER=$SOME_USER

1 个答案:

答案 0 :(得分:1)

据我所知,它只是一个简单的值列表,没有什么特别的,例如模板化或扩展,它甚至被引号破坏,例如VAR="test" 实际上是 "test" 而不是 test 的值。

documentation 也没有提及任何内容,或者至少没有明确提及。

<块引用>

... 简单(非数组)环境变量...

<块引用>

... 此文件应使用语法 =value(将变量设置为给定值)或 (从本地环境获取值),并使用 # 进行注释。 ...

$ cat file.env 
VAR=one
VAR2=$VAR
VAR3=${VAR}

$ docker run -it --env-file file.env busybox env | grep VAR
VAR=one
VAR2=$VAR
VAR3=${VAR}