SpringBoot下载freemarker转换的图片docker部署示例(解决中文方块)

本文档介绍了在部署SpringBoot应用到Linux服务器和Docker时遇到的Freemarker模板生成图片中文乱码问题及解决方案。通过在Dockerfile中引入中文字体并设置环境变量,以及在Linux环境下安装字体,可以成功解决中文显示为方块的问题。同时提供了构建Docker镜像和启动容器的命令。
摘要由CSDN通过智能技术生成

目录

一、需求背景

二、效果预览

错误示范

正确示范

 三、docker部署

1.dockerfile

2.windows部署目录

3.中文乱码解决

四、linux部署

五、参考


一、需求背景

继续博客SpringBoot下载freemarker转换的图片(高清不模糊)介绍项目部署的相关注意事项。

部署到服务器之后,在使用freemark模板生成Html转为img文件的时,中文会变成小方块。

部署环境:linux、docker

二、效果预览

错误示范

正确示范

 三、docker部署

1.dockerfile

# 基础镜像
from sapmachine/jdk11:latest

# 作者
MAINTAINER asyf
#中文字体显示为方框,导入中文字体解决(路径根据容器的字体路径调整)
COPY simsun.ttf /usr/share/fonts/truetype/dejavu

#解决中文乱码的问题
ENV LANG C.UTF-8

# 把可执行jar包复制到基础镜像的根目录下
ADD demo.jar /demo.jar

# 镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效
EXPOSE 8080

# 在镜像运行为容器后执行的命令,运行jar包
ENTRYPOINT ["java","-jar","/demo.jar","&"]

2.windows部署目录

注意:把字体文件、dockerfile文件、项目jar包放到相同目录

 执行cmd命令:

构建镜像

docker build -t test:01 -f Dockerfile .

启动容器

docker run -i -t -d --name imgtest -p 8082:8080 test:01 /bin/bash

查看日志

docker logs imgtest -f

访问图片

http://localhost:8082/img/test

3.中文乱码解决

仅需要在dockerfile中添加一行代码即可

#中文字体显示为方框,导入中文字体解决(路径根据容器的字体路径调整)
COPY simsun.ttf /usr/share/fonts/truetype/dejavu

四、linux部署

linux部署时需要直接在服务器安装字体(亲测有效)

注意:需要重启SpringBoot项目

在linux中执行以下命令:
cd /usr/share/fonts  (若fonts不存在则创建)
mkdir winFont  (创建好目录后,将文件simsun.ttc拷到当前文件中)
mkfontdir (执行成功后会出现fonts.dir文件夹)
mkfontscale (执行成功后会出现fonts.scale文件夹)
最后如果执行成功了需要重新启动出现问题的系统服务。(重启springboot项目即可生效)
注意:如果字体未生效,强制更新字体缓存,执行命令:
fc-cache –fv

若在执行mkfontdir的过程中出现错误提示:mkfontdir: command not found
安装下面命令
yum install fontconfig
yum install mkfontscale
yum install fontscale

五、参考

https://blog.csdn.net/son_of_a__bitch/article/details/109390051

https://blog.csdn.net/u013804856/article/details/109076928

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值