描述:

有一个业务是需要后台生成图片,后台使用了Graphics2D类。在docker部署时,图片上的中文变成方块。

解决方案:

百度了一下,发现是生产上的docker容器下没有中文字体,需要在容器里面添加中文字体,但是这样的话要单独维护一个中文字体的镜像。后来直接在代码里面处理,字体文件放在resouces下面,代码直接根据这个文件生成字体。

发现这样处理还是有问题,又度娘了一下,百度说是因为制作镜像的时候Dockerfile使用的是open-jdk,里面没有字体的功能。结果docker容器还是要安装字体服务,在Dockerfile加入安装字体的语句,生成镜像后用新镜像启动容器

用的是oracle-jdk应该是没有问题的,使用open-jdk,需要在Dockerfile添加 RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* 生成镜像即可

docker java 中文乱码_java使用awt包在生产环境docker部署时出现中文乱码的处理相关推荐

  1. java pdfbox2 中文乱码_Java用pdfbox或icepdf转换PDF为图片时,中文乱码问题

    最近在做一个将PDF文件转换成图片文件,然后传给前端展示的功能.刚开始时是用pdfbox,在本地windows环境下可以正常转换,图片没有任何问题.然后上了linux的测试环境,一样没问题.但是上了l ...

  2. 使用二进制包在生产环境部署 Kubernetes v1.13.2 集群

    文章目录 使用二进制包在生产环境部署 Kubernetes v1.13.2 集群 一 背景 二 环境及架构图 2.1 软件环境 2.2 服务器规划 2.3 节点或组件功能简介 2.4 Kubernet ...

  3. java.awt包_Java中awt包

    1. Java中awt包 AWT事件模型Event 1) 事件-描述发生了什么的对象 2) 事件源-事件的产生器 3) 事件处理器-接收事件.解释事件并处理用户交互的方法 Button是ActionE ...

  4. java swt 双屏_Java中AWT、Swing与SWT三大GUI技术的原理与效率差异

    看了一下对Java GUI讨论的帖子,所以写了一篇文章来阐述一下各种GUI技术的优劣. Java世界中,目前最知名的三大GUI库分别是: 1.AWT(Abstract Window Toolkit)抽 ...

  5. java 单开程序_java生成jar包并且单进程运行的实例

    java文件打包jar运行 有效步骤: 1.cmd 到当前目录(默认包主类所在目录为例) set classpath = 默认包主类所在目录 2.javac 主类名.java 3.java 主类名 4 ...

  6. docker java 内存溢出_java内存溢出

    与此问题类似jmeter Error occurred during initialization of VM Could not reserve enough space_萧木易的博客-CSDN博客 ...

  7. java开发的微信公众号服务端生产环境中的两个大坑

    摘要: 我们开发的公众号,由于将功能开发完毕后,未对服务进行压力测试,因此用到的组件中的参数值全是默认的,服务上线后一段时间运行得倒没什么问题,随着服务得访问量增加,一些多线程并发的问题就逐步暴露出来 ...

  8. 生产环境Docker部署ELK跨区访问kafka不通问题的解决

    由于分布式系统的日志集中采集的需求非常强烈,我们组通过调研和实践搭建了一套基于Docker的日志收集系统Amethyst. 我们首先在测试环境搭建了一套基于Docker swarm集群的ELK分布式环 ...

  9. Docker 文件存储驱动:AUFS 文件系统原理及生产环境的最佳配置

    我们知道,Docker 主要是基于 Namespace.cgroups 和联合文件系统这三大核心技术实现的.那么你知道联合文件系统是什么吗?它的原理又是什么呢?首先我们来了解一下什么是联合文件系统. ...

最新文章

  1. 学习Oracle 最好的5本书,最畅销的Oracle 5本书
  2. tilemap 导入unity_教程|Unity中使用Tilemap快速创建2D游戏世界
  3. centos7怎么安装中文环境支持包
  4. ios审核4.3被拒,快速通过IOS4.3问题
  5. MySql为查询结果添加前、后缀
  6. 关于爬虫中常见的两个网页解析工具的分析 —— lxml / xpath 与 bs4 / BeautifulSoup...
  7. uni app input添加获取验证码按钮_uni-app跨平台框架对微信小程序的无障碍支持探索...
  8. 旋转校正原理_「牛车实验室」四轮定位和动平衡如何选择?趣谈两种项目的原理和区别...
  9. Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)设备配对的开发
  10. 我的YUV播放器MFC小笔记:非模态对话框建立及窗口间传值
  11. 使用wireshark抓netlink包问题
  12. CCS安装教程——学习DSP的第一步
  13. Python之“诗词大会”游戏
  14. 无法重命名,文件不可信,后台被自动关闭,“Notebook Untitled.ipynb is not trusted jupyter”
  15. 使用scrapy框架爬取前程无忧
  16. nc65右键生成菜单_NC常见问题处理
  17. 好嗨呦 之 快速部署 Spring Boot 项目
  18. 智联招聘VSBOSS直聘VS拉勾 竞品分析
  19. 人脸实名认证实现方案(微信H5百度云篇)
  20. zzuli 2527: THE END IS COMING!!!!!//最小费用最大流

热门文章

  1. 为什么学计算机的学生应该向开源项目做贡献?
  2. Kotlin 1.5 新特性:密封接口有啥用?
  3. SaaS 正在 Rails 化
  4. 祝贺!吴晟成为 Apache 软件基金会首位中国董事!
  5. iOS 应用启动慢的原因找到了!
  6. 华为云用什么吸引 150 万开发者?
  7. 文件系统:隐匿在 Linux 背后的机制
  8. Rust 入坑指南:鳞次栉比 | CSDN 博文精选
  9. “一切即代码”究竟意味着什么?
  10. 不止 RTC 技术盛会,你还应该知道的声网给开发者的福利