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

新手上路,请多包涵

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

 docker run -it -e "var=var1" myDockerImage

但是我需要将系统属性传递给 docker 容器,因为这是我运行 JAR 的方式:

 java -Denvironment=dev -jar myjar.jar

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

 docker run -it {INSERT Denvironment here} myDockerImage

原文由 feco 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 690
2 个回答

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

 docker run -it -e "ENV=dev" myDockerImage
java -Denvironment=$ENV -jar myjar.jar

原文由 michaelbahr 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 ENV JAVA_OPTS="-Djavax.net.ssl.trustStore=C:/tomcatDev.jks -D_WS_URL=http://some/url/"

希望能帮助到你!

原文由 Isidro.rn 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题