报错详情:
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
访问测试,验证码正常显示