我有一个spring-boot应用程序,我使用它运行:mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dlocal=true -DignoredName=GREGORY"
现在我已经创建了一个docker镜像,使用:mvn spring-boot:build-image
然而,我似乎不能让它在docker中正常运行,我认为正确的运行方式是使用-e
,但它似乎没有被选中。
我尝试的命令:docker run -it -p8080:8080 librarybooks:1.0.0-SNAPSHOT -e spring-boot.run.jvmArguments="-Dlocal=true -DignoredName=GREGORY"
1条答案
按热度按时间jecbmhm31#
你的命令不起作用的原因是因为你正在向
docker run
传递-e
选项,该选项用于设置环境变量,但你试图使用它向Sping Boot 应用程序传递JVM参数。要在Docker容器中运行Sping Boot 应用程序时将JVM参数传递给它,您可以使用
JAVA_TOOL_OPTIONS
环境变量。下面是如何修改docker run命令以包含JVM参数的示例:在本例中,JAVA_TOOL_OPTIONS环境变量被设置为字符串“-Dlocal=true -DignoredName=GREGORY”,当您的Sping Boot 应用程序启动时,JVM将拾取该字符串。