如何在 Docker Windows 容器中安装字体?

And*_*itt 8 c# docker

我正在尝试在基于 4.8-windowsservercore-ltsc2019 映像的 docker windows 容器中安装字体。我找到了一些解决方案,但没有一个对我有用。

我创建了一个 github 项目来重现我的问题。

https://github.com/AndySchmitt/docker-font-windows-ltsc2019

这是一个简单的 C# Api 项目,使用 wkhtmltopdf 创建 PDF 文件。当您在没有 docker 的情况下运行时,它会生成一个带有 Arial 字体的 pdf 文件。当您在 docker 中运行时,它会生成相同的 pdf,但使用另一种字体。

在此 Windows 容器中,Microsoft 从字体文件夹中删除了所有字体,并且我在向该图像安装新字体时遇到问题。

我的问题是:如何在 docker 容器内使用 Arial 字体生成 pdf?或者,如何在此 Windows 图像中安装 Arial 字体并使 wkhtmltopdf 使用最近安装的字体?

Luu*_*uuk 0

在你的 Dockerfile 中是这样的:

...
COPY /bin/Resources/FontInstall.ps1 c:/windows/fonts/
ARG CACHEBUSTER=7
WORKDIR /Windows/Fonts

RUN ["powershell.exe", "C:\\Inetpub\\wwwroot\\Fonts\\FontInstall.ps1"]
Run Code Online (Sandbox Code Playgroud)

当您将脚本复制到c:/windows/fonts/,它是否也应该从该目录运行(最后一行)?

我认为需要修改为:

RUN ["powershell.exe", "C:\\Windows\\Fonts\\FontInstall.ps1"]
Run Code Online (Sandbox Code Playgroud)