如何将System属性传递给docker容器?

fec*_*eco 13 java docker

所以我知道你可以使用-e将环境变量传递给docker容器:

docker run -it -e "var=var1" myDockerImage
Run Code Online (Sandbox Code Playgroud)

但是我需要将一个System Property传递给docker容器,因为这是我运行JAR的方式:

java -Denvironment=dev -jar myjar.jar 
Run Code Online (Sandbox Code Playgroud)

那么如何在Docker中传递-D System属性?喜欢:

docker run -it {INSERT Denvironment here} myDockerImage
Run Code Online (Sandbox Code Playgroud)

mic*_*ahr 20

使用在java命令中传递给容器的变量:

docker run -it -e "ENV=dev" myDockerImage
java -Denvironment=$ENV -jar myjar.jar
Run Code Online (Sandbox Code Playgroud)


小智 6

如果在 Tomcat 下运行,另一种方法是在 Dockerfile 中设置系统变量,ENV JAVA_OPTS如下所示:

ENV JAVA_OPTS="-Djavax.net.ssl.trustStore=C:/tomcatDev.jks -D_WS_URL=http://some/url/"
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!