docker 容器运行 jar,读取jar 外配置文件

现在有Dockerfile 配置文件内容如下:

clipboard.png

执行下面的命令,即可以将打包好的镜像文件,创建运行为容器:

 docker run --name mfile-1.0.13 -p 8090:8090 -d -v /app/mfileconf/application.properties:/opt/gf-mfile/application.properties -v /app/logs:/opt/gf-mfile/logs  docker.gf.com.cn/gravityforce/mfile /bin/bash

问题

因为,现在要将log4j的配置文件放到,jar 包文件外,故而,需要修改Dockerfile 配置文件,最后执行的java 命令(ENTRYPOINT)。
在windows 环境下,执行下面的命令:

java.exe -cp .;gf-mfile.jar org.springframework.boot.loader.JarLauncher

才能将jar 包外的log4j配置文件读取。

故而,本人将Dockerfile 配置文件最后一句改为下面这样:

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-cp .;","gf-mfile.jar org.springframework.boot.loader.JarLauncher"]

再执行上面,docker run ……命令,发现容器,一旦创建就关闭。

请问: Dockerfile 文件应该怎么修改,才能让容器运行的时候能够读取到jar 包外的log4j 配置文件? 请大神赐教,感激不尽……

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