docker-compose: 在容器中添加中文字体
docker-compose 配置
先上 docker-compose.yml 的内容
version: '2'
services:
mandarin:
container_name: mandarin
restart: always
image: liumapp/add-mandarin-fonts-in-docker:v1.0.0
build:
context: .
args:
- LANG=C.UTF-8
ports:
- 8080:8080
volumes:
- ./fonts:/usr/share/fonts
- ./pdf:/pdf
- ./doc:/doc
build
build: context: . args: - LANG=C.UTF-8
设置容器内编码为 UTF-8,使之支持中文字体。
volumes
volumes: - ./fonts:/usr/share/fonts - ./pdf:/pdf - ./doc:/doc
将宿主机,或者说项目下的 fonts 目录下的中文字体全部与容器内的/usr/share/fonts 建立关联,使绝大多数的中文字体都能够被找到。
另外补充一下,案例项目下的 fonts 目录有大约 300 多 M,下面的字体文件是来自于 windows7 下字体库的所有.ttf 和.ttc 结尾的字体文件,这样做的理由,是因为仅仅让 Docker 支持中文字体是远远不够的,我们很多的需求,比如文档转换、图片转换都是需要用到很多不同的字体,所以方便起见,直接拷贝 windows7 下所有的相关字体是最直截了当的方式。
fontconfig
可能有人会注意到,一般在 Linux 下面配置中文字体都是需要用到 fontconfig 这样的工具,然而,在以 Java:8 为 baseImage 的项目下,fontconfig 是自动配置好了的,所以我们不需要额外关心这个家伙。
不过 Java:8 以外的我就没有去尝试了,估计就要多做几步了吧 ~
1)可以进入到容器查看当前字体是什么。
命令:locale -a
(2)查看已经安装的中文字体
命令:fc-list :lang=zh
(3)手动重载系统字体
命令:fc-cache -fv
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
2022-09-19 记录MySQL获取系统当前年份月份日期
2022-09-19 hutool日期获取总结