我有一个Docker容器,它具有大量(大约100)个自定义设置。我宁愿比将默认值全部编码到DockerFile中更灵活。我注意到docker run
命令支持此选项:
--env-file value Read in a file of environment variables (default [])
有没有办法让docker build
使用类似的文件驱动机制?或者完全有更好的方法吗?
答案 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
。