解决docker容器内使用java drawString生成水印图片中文方框的问题
1、docker容器内 2、有jdk环境 3、无字体环境
解决方案:自己制作一个镜像,Dockerfile见下
FROM registry.cn-hangzhou.aliyuncs.com/ghoulich-centos/centos:7.4.1708 MAINTAINER zxp ***@163.com COPY agent agent # 支持skywalking探针 COPY jdk1.8.0_131 jdk1.8.0_131 # 拷贝oracle jdk 需要在jdk1.8.0_131/jred/lib/fonts中创建fallback目录,并添加simsun.ttc COPY fonts /usr/share/fonts # 拷贝字体 包含simsun.ttc ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV JAVA_HOME=/jdk1.8.0_131 ENV PATH=$JAVA_HOME/bin:$PATH ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
制作镜像并上传阿里云镜像中心
$ docker build -t jdk8:latest .
$ sudo docker login --username=zxpdt@163.com registry.cn-hangzhou.aliyuncs.com password:密码 $ sudo docker tag [镜像id] registry.cn-hangzhou.aliyuncs.com/zxporz/jdk8:[版本] $ sudo docker push registry.cn-hangzhou.aliyuncs.com/zxporz/jdk8:[版本]
用自己上传的镜像作为base
FROM registry.cn-hangzhou.aliyuncs.com/zxporz/jdk8:latest ENV TZ CST-8 COPY *.jar /*.jar ENV JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8 -Duser.language=zh -Duser.region=zh_CN -Duser.country=zh_CN ENTRYPOINT exec java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap $JAVA_OPTS $SKYWALKING_OPTS -jar /*.jar
标签:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2019-10-14 elasticsearch(lucene)索引数据过程