首页 > 其他分享 >docker使用openJDK导致图片验证码错误

docker使用openJDK导致图片验证码错误

时间:2023-04-07 09:01:50浏览次数:46  
标签:导致 导出 openJDK Excel 验证码 组件 docker

简介: docker使用openJDK导致Excel导出问题
问题:本地环境导出Excel正常,测试环境导出Excel失败
image.png
看到上方报错日志开始以为是初始化WorkBook失败导致的空指针问题
image.png
后来打印了WorkBook对象发现并不是这个原因导致的空指针

解决办法
经排查发现开发项目的时候都是基于OracleJDK 1.8来做的,FontConfig组件可以正常运行。但是发布到docker更换成OpenJDK1.8后,无法正常运行,后台代码抛出异常
后在DockerFile文件中加入如下命令,在容器中安装相关模块解决问题。

这几个组件下载都极慢,建议在基础镜像里面添加不然每次重新下载严重影响打包速度。。。

RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig

ENTRYPOINT ["java","-jar","/xxx.jar"]
扩展
如果没有使用docker导致的这个报错则需要在宿主机(centOS7)下执行如下命令安装FontConfig组件。

yum install fontconfig
fc-cache --force

标签:导致,导出,openJDK,Excel,验证码,组件,docker
From: https://www.cnblogs.com/xyarch/p/17294851.html

相关文章

  • 二。docker安装mysql 并配置
    1.docker安装mysql1.1使用docker拉取mysql的镜像dockerpullmysql:5.71.2通过镜像启动dockerrun-p3306:3306--namemymysql-v$PWD/conf:/etc/mysql/conf.d-v$PWD/logs:/logs-v$PWD/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=123456-dmysql:5.7-p3306:3306:......
  • Python生成随机验证码
    pipinstallpillow 实现代码importrandomfromPILimportImage,ImageDraw,ImageFont,ImageFilterdefcheck_code(width=120,height=30,char_length=5,font_file='kumo.ttf',font_size=28):code=[]img=Image.new(mode='RGB',si......
  • 【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too lo
    问题描述使用DockerCompose方式合并多个镜像(Images)文件,然后部署到AppService中,结果失败。报错LinuxVersion太长,不能超过4000个字符。错误消息:{"code":"DeploymentFailed","message":"Atleastoneresourcedeploymentoperationfailed.Pleaselistdeploymentoper......
  • 一、docker的安装及docker-compose安装
    一.安装docker1.1安装curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun#https://get.docker.com/是一个url地址,这个网址是下载docker脚本,点击这个网址就会看到一串shell脚本,ctrl+F查找mirror就可以看到2个,一个Aliyun,一个AzureChinaCloud使用上面代......
  • docker启动报错the backing xfs filesystem is formatted without d_type support
    WARNING:overlay2:thebackingxfsfilesystemisformattedwithoutd_typesupport,whichleadstoincorrectbehavior.Reformatthefilesystemwithftype=1toenabled_typesupport.Runningwithoutd_typesupportwillnotbesupportedinfu......
  • docker
    安装使用官方脚本一键安装curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun或curl-sSLhttps://get.daocloud.io/docker|shcurl-o~/docker_OneKey_install.shhttp://www.hellokvm.com/jb/docker/docker_OneKey_install.sh;bash+xdocker_On......
  • SRS+Docker部署教程
    SRS+Docker部署教程安装DockerWindows安装docker安装Hyper-VHyper-V是微软开发的虚拟机,类似于VMWare或VirtualBox,仅适用于Windows10。这是DockerDesktopforWindows所使用的虚拟机。但是,这个虚拟机一旦启用,QEMU、VirtualBox或VMWareWorkstation15及以下版本......
  • docker-compose 运行 redis
    redis.conflogfile/data/redis/logs/redis.logdir/data/redis/databind0.0.0.0requirepass123456UID#dockerrun--rm-itredis:7.0.10idredisuid=999(redis)gid=999(redis)groups=999(redis)docker-compose.yamlversion:'3.9'services:r......
  • vscode配置docker插件
    参考:https://zhuanlan.zhihu.com/p/530413695  ================================================  本文不对vscode、docker的安装及docker插件的安装进行讲解,本文只讲在vscode上如何配置以使docker插件正常使用。 VSCODE上安装好docker插件后会发现并不能正常使用......
  • docker部署jumpserver
     关闭selinux[root@centos7~]#setenforce0[root@centos7~]#systemctlstopfirewalld[root@centos7~]#iptables-F安装docker源[root@centos7~]#yum-yinstallwget[root@centos7~]#cd/etc/yum.repos.d/[root@centos7~]#wgethttps://mirrors.aliyun.com/docker......