给docker容器增加字体

最近在使用docker容器部署netcore项目时,遇到一个问题,程序生成pdf文件,在windows系统里是正常的,但是在linux服务器上报找不到字体,问了下deepseek,有几种解决办法:

方法一:通过Dockerfile安装

FROM your-base-image

# 安装字体工具
RUN apt-get update && apt-get install -y fontconfig

# 创建字体目录
RUN mkdir -p /usr/share/fonts/chinese

# 添加宋体字体文件
COPY simsun.ttc /usr/share/fonts/chinese/

# 设置权限并更新字体缓存
RUN chmod 644 /usr/share/fonts/chinese/* && \
    fc-cache -fv

方法二:运行时复制字体到容器

  1. 先将字体上传到宿主机
  2. 使用docker cp命令复制到运行中的容器:
    docker cp simsun.ttc container-name:/usr/share/fonts/
  3. 进入容器刷新字体缓存:
    docker exec -it container-name bash -c "fc-cache -fv"

     

最后使用了方法二解决了问题,从本地电脑(路径:C:\Windows\Fonts)复制字体到服务器指定路径,然后再将字体复制进容器内部,最后刷新容器字体缓存就可以了。

image

 

posted @ 2025-08-21 22:20  小丑不戴面具  阅读(472)  评论(0)    收藏  举报