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

本文讲述了在使用openjdk镜像构建Java应用时遇到的NullPointerException,原因在于图形验证码依赖缺失。给出了在Dockerfile中添加相关依赖并配置环境变量的解决方案,确保验证码正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错详情:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值