在VisualStudio中,我创建了一个默认的ASP.NETCoreWeb应用程序,并启用了Docker支持。
它使用的是Linux容器的默认Microsoft Offical image。
下面是我的 Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["WebApplication1.csproj", ""]
RUN dotnet restore "./WebApplication1.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "WebApplication1.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]
我想在上面安装 Microsoft Windows Fonts,我尝试了以下方法,但不起作用:
RUN apt install ttf-mscorefonts-installer
如何在此容器上安装字体?
4条答案
按热度按时间kknvjkwl1#
明白了。修改你的Dockerfile的开头如下:
第一行更新Linux操作系统中默认的 /etc/apt/sources.list 文件,使其包含'contrib'归档区(ttf-mscorefonts-installer所在的区域),这确保apt-get可以找到它,并在第二行正常安装它(沿着fontconfig,您也需要它)。
为了记录在案,this page建议使用“fonts-liberation”包而不是ttf-mscorefonts-installer,您也可以在Dockerfile的开头使用两个 * 不同 * 的行来获得ttf-mscorefonts-installer,如下所示:
yks3o0rb2#
你可以复制你的自定义字体到docker图像和安装字体象这样
或者如果你想安装microsoft trueType核心字体.你可以这样做
你可以使用这个示例dockerfile太DockerFile
prdp8dxp3#
我通过将字体(从我的Windows开发机器)添加到API项目下的./fonts文件夹中,然后在Dockerfile中复制并配置这些字体来解决这个问题:
我想如果我可以使用字体而不必复制到/usr/share会更好。
尽管许多网站描述了这个过程,但我还是无法让ttf-mscorefonts-installer工作。
fumotvh34#
使用linux alpine docker的工作示例,因为其他答案不起作用。Source