docker启动springboot设置系统参数不生效???
使用docker制作springboot镜像,设置的-D系统参数不生效
# 基础镜像使用javaFROM docker.io/openjdk:11.0.4
# 时区
ENV TZ=Asia/Shanghai
#容器暴露的端口号与springboot配置的端口号一致
EXPOSE 8001
# VOLUME 指定了临时文件目录为/tmp。
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD test.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom -Djasypt.encryptor.password=123456","-jar","/app.jar"]
由于数据库信息使用了jasypt做的加密处理,但是设置的 -Djasypt.encryptor.password=123456" 并没有生效,导致加密数据无法解密
回答:
觉得你的参数本身就是错误的,应该是
ENTRYPOINT ["java","-Djava.security.egd=file://dev/./urandom", "-Djasypt.encryptor.password=123456","-jar","/app.jar"]
注意file:
后面是2个斜杠,这样才可能是标准的,因为协议URI的通用写法是
协议名://<主机>/<路径>
此外还怀疑你的路径有问题,这些都需要你从日志输出中去判断。
回答:
有日志吗?
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-Djasypt.encryptor.password=123456","-jar","/app.jar"]
改成这样试试,或者用RUN java -Djava.security.egd=file:/dev/./urandom -Djasypt.encryptor.password=123456 -jar /app.jar
以上是 docker启动springboot设置系统参数不生效??? 的全部内容, 来源链接: utcz.com/p/944086.html