Docker 图片水印中文乱码显示为方框, 设置Docker容器字体

水印中文不显示

Docker 图片水印中文乱码显示为方框, 设置Docker容器字体_第1张图片
原因 : 水印设置的字体在Linux系统中不存在
处理 : 在Docker里添加字体(在宿主机添加无效)

项目结构:
Docker 图片水印中文乱码显示为方框, 设置Docker容器字体_第2张图片
在DockerFile同级添加字体文件

编写Dockerfile文件

FROM  java:8
COPY fonts/simhei.ttf /usr/share/fonts/
VOLUME /tmp
# 设置系统编码
ENV LANG C.UTF-8
# RUN echo "export LC_ALL=C.UTF-8"  >>  /etc/profile && source /etc/profile
ADD target/xxx(项目jar名称).jar app.jar
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Djava.io.tmpdir=/data/apps/temp","-jar","/app.jar"]

如上, 把字体Copy到容器内
COPY fonts/simhei.ttf /usr/share/fonts/

Windows和Linux字体是通用的
可以在Windows系统目录 C:\Windows\Fonts 复制需要的字体到项目里, 然后在Dockerfile 引入.

你可能感兴趣的:(Docker)