在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

基于dotnet官方的aspnet5的镜像构建安装libgdiplus基础镜像

Docker 清风 957℃ 0评论

背景

.net 5应用中,使用了Excel文件处理,在Docker容器中运行就会出现关于libgdiplus的异常。虽然在Dockerfile中可以使用以下内容解决异常,但是这个速度太慢了。每次构建慢的让人怀疑人生,最重要的是还可能失败。

RUN apt-get update && apt-get install -y libgdiplus libc6-dev && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll

为了提高构建速度,所以使用官方的基础镜像再二次构建一个基础镜像,默认安装 libgdiplus ,这样每次构建速度就会提升好多好多。默认安装了libgdiplus等库,以便支持Excel导入导出

构建基础镜像的Dockerfile

Dockerfile


FROM mcr.microsoft.com/dotnet/aspnet:5.0

RUN apt-get update && apt-get install -y libgdiplus libc6-dev && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
# 安装fontconfig库,用于Pdf导出
RUN apt-get update && apt-get install -y fontconfig
# 复制字体文件
COPY /simsun.ttc /usr/share/fonts/simsun.ttc

如果CPU架构是ARM架构的话,引用的官方基础镜像包就要做一些调整。详情参考Dockerfile.arm

Dockerfile.arm


FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim-arm64v8

RUN apt-get update && apt-get install -y libgdiplus libc6-dev && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
# 安装fontconfig库,用于Pdf导出
RUN apt-get update && apt-get install -y fontconfig
# 复制字体文件
COPY /simsun.ttc /usr/share/fonts/simsun.ttc

字体文件

字体simsun.ttc

已构建镜像

基于dotnet官方的aspnet5的镜像构建安装libgdiplus基础镜像-第0张图片

如果自己不构建镜像,也可以使用已经构建好的镜像。

docker pull skyfinder/dotnet-aspnet5

ARM架构的CPU可以使用以下镜像

docker pull skyfinder/dotnet-aspnet5-buster-slim-arm64v8



转载请注明:清风亦平凡 » 基于dotnet官方的aspnet5的镜像构建安装libgdiplus基础镜像

喜欢 (63)or分享 (0)
支付宝扫码打赏 支付宝扫码打赏 微信打赏 微信打赏
头像
发表我的评论
取消评论

CAPTCHA Image
Reload Image
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址