反正有没有DockerBuild文件使用环境变量文件?

时间:2016-12-19 21:08:57

标签: docker dockerfile

我有一个Docker容器,它具有大量(大约100)个自定义设置。我宁愿比将默认值全部编码到DockerFile中更灵活。我注意到docker run命令支持此选项:

--env-file value              Read in a file of environment variables (default [])

有没有办法让docker build使用类似的文件驱动机制?或者完全有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

Environment files are not supported for builds

  

这已经被广泛讨论过,很可能不会被添加。   在构建命令中引入env会创建依赖于主机的构建。

The ARG command and --build-args are available during builds但不支持您需要的文件。

正如user2105103建议的那样,您可以在构建步骤中复制env文件,然后在运行期间获取它。

COPY .env /.env
RUN set -uex; \
    . /.env; \
    echo $MY_ENV_VAR

答案 1 :(得分:0)

您可以编写一个bash脚本,动态构建自定义Dockerfiles