docker 安装 字体文件

先说一下我当前的 场景 及 环境,这样同学们可以先评估本篇文章是否有帮助。

环境:

  • docker
  • php8.1-fpm
  • windows

之所以有 php,是因为这个功能是使用 php 开发的,其他语言的同学,如果也有使用到 字体文件,那么本篇应该也是有参考性的。

因为本篇主要是分享 docker 安装 字体文件

场景:

来了个需求,有一个默认背景图,可以理解为背景图是一个 "相框",相框里面就会放 照片。照片 是用户端进行上传的。 需要开发一个功能:用户上传照片,程序进行合并,将 相框 和 照片 合并在一起,并且在 相框的 下方附上一段文字,例如是姓名,编号等。

因为这个功能,我以前是开发过的,当时并没有使用到 docker,所以我看了一下源码,发现以前使用时,有用到 "字体文件",我看了一下路径是:

复制代码
/usr/share/fonts/msyh.ttc

然后我进入 docker 容器,查看是否存在这个文件,发现 并没有!

所以,我需要下载字体文件

因为是 PHP,使用的 GD 库进行操作,编写文字时,需要使用到 字体文件。

我的本地开发环境,使用的是 windows11,大多数同学应该也是用的是 windows 10 或者 11 甚至有的同学应该还有使用 7。

如果是其他系统,比如 MAC、LINUX 等,可能就不一样,但是解题思路应该还是可以参考的!

在本地 我们打开终端,输入:

复制代码
cd /c/Windows/Fonts/

进入这个目录后,我们查看列表:

复制代码
ls

是真的很多哇。

然后我使用的是 "msyh.ttc"

该文件的类型是:TrueType Collection 字体文件 (.ttc)

该字体是:微软雅黑 常规 简体字

然后我们将该文件拷贝到容器里:

复制代码
docker cp msyh.ttc 容器名:/tmp

上面这条命令,将"容器名"替换成 我们的容器"CONTAINER ID" 或者 容器"NAMES"就可以了

进入容器:

bash 复制代码
winpty docker exec -it 容器名 bash

因为我的是 windows 环境,所以增加了 "winpty" 命令,如果是 linux 的话,则不需要,如果我不加 winpty 则会报错:

the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'

然后我们找到拷贝的目录 "/tmp"

就能看到 拷贝的文件,然后做一个迁移:

首先我们存储的文件路径为:

bash 复制代码
/usr/share/fonts

我当前容器中,是没有 "fonts" 目录的

所以需要创建,先进入到

bash 复制代码
cd /usr/share

然后创建目录:

bash 复制代码
mkdir fonts

再进入:

bash 复制代码
cd fonts

再查看:

bash 复制代码
pwd

若输出:

bash 复制代码
/usr/share/fonts

则代表目录正确!

然后我们将 字体文件 拷贝过来。就可以在当前目录这样:

bash 复制代码
cp /tmp/msyh.ttc msyh.ttc

然后查看列表:

bash 复制代码
ls

如果显示了

bash 复制代码
msyh.ttc

则代表该文件已经拷贝到该目录下!

到此 结束!

相关推荐
槑槑紫4 分钟前
windows系统装轻量版linux开发
linux·运维·服务器
9命怪猫22 分钟前
[K8S小白问题集] - Calico好在哪里?
网络·云原生·容器·kubernetes
齐潇宇23 分钟前
k8s-Helm管理器
linux·运维·云原生·容器·kubernetes
Zhu7581 小时前
[软件部署]在k8s环境部署alist
云原生·容器·kubernetes
小王C语言2 小时前
Windows和Linux之间文件互传
linux·运维·服务器
o_insist2 小时前
Docker 入门:从镜像、容器到项目部署
docker·自动化运维·devops
magic_now2 小时前
Linux 内核启动流程详解(基于 5.15.119 源码)
linux·运维·服务器
冷小鱼2 小时前
Dockerfile 编写与优化完全指南:从入门到生产级实践
docker·docker file
2401_840192273 小时前
k8s的crd、operator、cr分别是什么?
运维·分布式·kubernetes·prometheus
草木深雨纷纷3 小时前
mt管理器手机版下载2026最新版更新下载分享
linux·运维·网络·智能手机