docker使用openjdk镜像后无法显示验证码

报错详情:

java.lang.NullPointerException: null

问题分析:

图形验证码依赖了系统组件,openjdk镜像源中缺少相关依赖,需要安装。

解决方法:
Dockerfile内容如下:

FROM openjdk:8-jdk-alpine
RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
RUN apk add --no-cache bash
COPY app.jar /app.jar
ENV JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
ENTRYPOINT ["/bin/bash", "-c", "java -Duser.timezone=GMT+08 -jar /app.jar"]

构建镜像:

docker build -t app .

运行:

docker run -itd --name app -p 80:80 app

访问测试,验证码正常显示

猜你喜欢

转载自blog.csdn.net/LSW1737554365/article/details/134507128