docker启动springboot设置系统参数不生效???

使用docker制作springboot镜像,设置的-D系统参数不生效

# 基础镜像使用java

FROM 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

回到顶部