设置Dockervariables
我正试图获得设置在Docker容器中的一些环境variables。
以下工作正常
ENV CORE_SQL_URL "jdbc:postgresql://db:5432/db" ENV JAVA_OPTS -DCORE_SQL_URL=${CORE_SQL_URL}
但是,如果我想覆盖CORE_SQL_URL,我怎么能强制JAVA_OPTS更新。
使用docker运行-e“CORE_SQL_URL = jdbc:postgresql:// db:5432 / db2”运行容器,结果如下
JAVA_OPTS=-DCORE_SQL_URL=jdbc:postgresql://db:5432/db CORE_SQL_URL=jdbc:postgresql://db:5432/db2
Dockerfile中的ENV
命令在构build时执行,而docker docker run
的-e
标志当然是运行时参数。 build-time参数无法对传入的运行时参数进行任何处理,因此您必须传递两个环境variables才能获得所需的结果。
我最终只是在启动我的Java应用程序之前,在我的ENTRYPOINT调用的shell脚本中设置JAVA_OPTS。