如果docker部署啟動報錯
java.lang.NullPointerException: null
at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
at sun.font.SunFontManager$2.run(SunFontManager.java:431)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<init>(SunFontManager.java:376)
at sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccesso
再dockerfile文件里面添加
RUN apk add --update ttf-dejavu fontconfig
如下所示
ADD app.jar app.jar RUN apk add --update ttf-dejavu fontconfig ENTRYPOINT ["java","-jar","/app.jar"]
但是上面這種方式有個問題就是很慢,所以我們可以直接使用現有的鏡像
把dockerfile文件使用的基本鏡像換掉
FROM frolvlad/alpine-java:jdk8-slim
用這個鏡像就快很多了