设置Docker变量

Jef*_*lin 1 docker

我试图在Docker容器中获取set一些环境变量.

以下工作正常

ENV CORE_SQL_URL "jdbc:postgresql://db:5432/db"
ENV JAVA_OPTS -DCORE_SQL_URL=${CORE_SQL_URL}
Run Code Online (Sandbox Code Playgroud)

但是,如果II想要覆盖CORE_SQL_URL,我怎么能强制更新JAVA_OPTS.

使用docker run -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
Run Code Online (Sandbox Code Playgroud)

Abd*_*aly 5

所述ENV在一个Dockerfile命令在构建时被执行,而-e标志docker run是,当然,运行时间参数.构建时参数无法对传入的运行时参数执行任何操作,因此您必须传入两个环境变量才能获得所需的结果.