首页 > 解决方案 > .env 文件中可用的 Dockerfile ENV

问题描述

我有一个 ENV 设置Dockerfile

...
ENV APP_HOME=/myapp
...

我也有一个.env文件:

DATA_DIR=$APP_HOME/data

如果我使用 env 文件运行图像:

docker run --env-file .env app_image

并在 shell(bash) 中回显环境变量,

$ echo $DATA_DIR

$APP_HOME/data

我期待:

/myapp/data

我的问题是,如何在 docker 构建期间将 ENV 集传递给 .env 文件?

标签: dockerdockerfile

解决方案


我的问题是,如何在 docker 构建期间将 ENV 集传递给 .env 文件?

简短的回答是这是不可能的。

原因是它.env不会执行任何 bash 命令或接受任何其他外部环境变量,因此该docker run命令只会传入文字字符串。

结果,您将看到$APP_HOME/data


推荐阅读