zoukankan      html  css  js  c++  java
  • asp.net core In Docker(Image)

    原文地址:https://www.cnblogs.com/stulzq/p/9059108.html

    大家应该知道目前.NET Core(2.0)还是没有System.Drawing程序集,如果我们要使用Image等对象来完成生成图片验证码、图片二维码等操作只有通过第三方编写的组件,ZKWeb.System.Drawing便是其中一个,我们使用它以后,我们在windows上运行良好,无需其他额外的操作。但是我们一到Linux运行或者使用Docker(dotnet镜像使用的是ubantu环境)运行时,会发现程序无法正常生成图片,会出现异常,这是因为我们的zk在Linux/Docker下运行需要安装一个名为 libgdiplus 的组件,我们在构建Docker镜像的时候可以通过RUN命令使用apt-get命令进行安装:

    RUN apt-get update
    RUN apt-get install libgdiplus --assume-yes
    RUN cd /usr/lib
    RUN ln -s libgdiplus.so gdiplus.dll
    

    apt-get update是非常有必要的

    完整的Dockerfile配置提供给大家参考:

    FROM microsoft/aspnetcore:2.0 AS base
    WORKDIR /app
    EXPOSE 80
    
    FROM microsoft/aspnetcore-build:2.0 AS build
    WORKDIR /src
    COPY Alipay.Demo.PCPayment.sln ./
    COPY Alipay.Demo.PCPayment/Alipay.Demo.PCPayment.csproj Alipay.Demo.PCPayment/
    RUN dotnet restore -nowarn:msb3202,nu1503
    COPY . .
    WORKDIR /src/Alipay.Demo.PCPayment
    RUN dotnet build -c Release -o /app
    
    FROM build AS publish
    RUN dotnet publish -c Release -o /app
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app .
    RUN apt-get update
    RUN apt-get install libgdiplus --assume-yes
    RUN cd /usr/lib
    RUN ln -s libgdiplus.so gdiplus.dll
    ENTRYPOINT ["dotnet", "Alipay.Demo.PCPayment.dll"]
  • 相关阅读:
    前端代码规范
    AD 对联
    leaflet 入门笔记
    在Mac OS X上安装Git
    在Mac上开启C的新征程
    Python编程基础
    GitHub的使用(Git Shell)
    《网页设计心理学》Susan M.Weinschenk 小结精粹
    【问题】做图片验证码时乱码了,在header前加上ob_clean()就能神奇的显示?!
    --allow-file-access-from-files 命令的使用
  • 原文地址:https://www.cnblogs.com/YrRoom/p/11555803.html
Copyright © 2011-2022 走看看