报错内容
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at sun.font.SunFontManager.getInstance(SunFontManager.java:250)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:264)
at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:856)
at com.wf.captcha.ArithmeticCaptcha.graphicsImage(ArithmeticCaptcha.java:73)
at com.wf.captcha.ArithmeticCaptcha.out(ArithmeticCaptcha.java:45)
at com.wf.captcha.base.Captcha.toBase64(Captcha.java:127)
at com.wf.captcha.ArithmeticCaptcha.toBase64(ArithmeticCaptcha.java:50)
原来的dockerfile写法,去掉字体包
FROM openjdk:8-jdk-alpine
解决方案1:使用带字体的镜像
FROM seraphimalia/openjdk8-alpine-plus-fonts
解决方案2:下载字体到容器中
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=./*.jar
#captcher 字体包
RUN set -xe \
&& apk --no-cache add ttf-dejavu fontconfig