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

 坏坏纯1990_440 发布于 2022-10-29 17:02

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

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

 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 配置文件? 请大神赐教,感激不尽……

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有