Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
690 views
in Technique[技术] by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

56.8k users

...