• 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"]
  • 相关阅读:
    ios NSFileHandle
    ios NSString crash
    触摸方法
    代理中方法
    初始化时加载的方法
    [leetCode]209. 长度最小的子数组
    [leetCode]669. 修剪二叉搜索树
    [leetCode]763. 划分字母区间
    7.Jedis
    6.Redis事务(乐观锁)
  • 原文地址:https://www.cnblogs.com/YrRoom/p/11555803.html
Copyright © 2020-2023  润新知