现在有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 配置文件? 请大神赐教,感激不尽……
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…