IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> SpringBoot下载freemarker转换的图片docker部署示例(解决中文方块) -> 正文阅读

[系统运维]SpringBoot下载freemarker转换的图片docker部署示例(解决中文方块)

目录

一、需求背景

二、效果预览

错误示范

正确示范

?三、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

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 17:05:23  更:2021-08-12 17:07:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 11:34:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码