diff --git a/CloudNative/ErrorProcess/openjdk镜像应用于图片验证码项目异常处理.md b/CloudNative/ErrorProcess/openjdk镜像应用于图片验证码项目异常处理.md new file mode 100644 index 0000000..28a192f --- /dev/null +++ b/CloudNative/ErrorProcess/openjdk镜像应用于图片验证码项目异常处理.md @@ -0,0 +1,26 @@ +openjdk默认缺少字体,导致有图片验证码的乘务无法正常运行,需要安装dejavu字体。 +报错如下: +```txt +Exception in thread "main" java.io.IOException: Problem reading font data. +``` +```bash +# 对基础镜像为alpine的openjdk镜像 +cat > Dockerfile << EOF +FROM openjdk:17-jdk-alpine +RUN apk add --update --no-cache ttf-dejavu fontconfig tzdata \ + && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ + && echo "Asia/Shanghai" > /etc/timezone \ + && apk del tzdata \ + && rm -rf /var/cache/apk/* \ + && chmod +x /start.sh +EOF +# 对基础镜像为debian的openjdk镜像 +cat > Dockerfile << EOF +FROM openjdk:17-jdk-slim-bullseye +RUN apt-get update && \ + apt-get install -y --no-install-recommends fonts-dejavu fontconfig && \ + rm -rf /var/lib/apt/lists/ && \ + apt-get autoremove -y && \ + apt-get autoclean -y +EOF +``` \ No newline at end of file