1.在docker 上找到并运行需要System.Drawing的镜像 然后退出执行另一语句

docker run -it container01

进入镜像以方便安装gdiplus

docker exec -ti container01 /bin/bash

执行更新环境

apt-get update

下载安装gdiplus

apt-get install libgdiplus

退出镜像

exit

提交安装到镜像中

docker commit container01

此时镜像运行后就可以支持system.drawing生成图片了,但是感觉相对繁琐,另外经查阅可以保存镜像以备其他镜像需要使用gdiplus时可以直接引用 ,这种情况下就方便使用用了

还有一种方式 可以直接修改dockerfile文件,第一次build的时候会下载相关,可能耗时,不过可以设置时区,方便就近下载 倒是也会比上面的方式慢,毕竟免去了命令行的输入,dockerfile文件内容如下:

FROM microsoft/aspnetcore:2.0.8

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN apt-get update

RUN apt-get install libgdiplus --assume-yes

RUN cd /usr/lib

RUN ln -s libgdiplus.so gdiplus.dll

COPY . /app

WORKDIR /app

ENV ASPNETCORE_URLS http://+:8000

EXPOSE 8000

ENTRYPOINT  ["dotnet", "xxx.xxxx.Api.dll"]

  

文档参考于: http://www.cnblogs.com/lori/p/7543886.html

docker之使用System.Drawing生成图片缺少Gdiplus.dll错误的更多相关文章

  1. Linux/Docker 中使用 System.Drawing.Common 踩坑小计

    前言 在项目迁移到 .net core 上面后,我们可以使用 System.Drawing.Common 组件来操作 Image,Bitmap 类型,实现生成验证码.二维码,图片操作等功能.Syste ...

  2. 在linux 或docker中使用 system.drawing.common

    在dockerfile 中添加 FROM microsoft/dotnet:2.1-aspnetcore-runtime RUN apt-get update RUN apt-get install ...

  3. Asp.Net Core使用System.Drawing.Common部署到docker报错问题

    Asp.Net Core 2.1发布后,正式支持System.Drawing.Common绘图了,可以用来做一些图片验证码之类的功能.但是把网站部署到docker容器里运行会遇到很多问题,也是非常闹心 ...

  4. netcore发布到centos 验证码Zkweb.system.drawing不显示及乱码的问题

    netcore发布到centos 使用的是Zkweb.system.drawing生成验证码,发布后可能会出现不显示及乱码的情况 1.验证码图片不显示(通过日志会发现生成图片时代码已经异常) Zkwe ...

  5. 让System.Drawing.Bitmap可以在linux运行

    .net core的bitmap使用的是以下类库,但无法在linux运行 https://github.com/CoreCompat/CoreCompat 在linux运行需要安装runtime.li ...

  6. .Net Core 之 图形验证码 本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能。

    本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能. 通过测试的系统: Windows 8.1 64bit Ubuntu Server 16.04 LTS 64 ...

  7. mono+jexus 验证码不显示:System.Drawing

    System.ArgumentException The requested FontFamily could not be found [GDI+ status: FontFamilyNotFoun ...

  8. .net学习笔记----利用System.Drawing.Image类进行图片相关操作

    C#中对图片的操作主要是通过System.Drawing.Image等类进行. 一.将图片转换为字节流 /// <summary> /// 图片处理帮助类 /// </summary ...

  9. 将System.Drawing.Bitmap转换为Direct2D.D2DBitmap

    最近在尝试Direct2D编程,挺好玩的. 但是有时候还是会用到GDI+来生成图片,但D2D绘图需要用到自己的D2DBitmap类. 因此需要转换,查阅了下网上的资料,写了这么一个方法: using ...

随机推荐

  1. 多个div实现随意拖拽功能

    鼠标事件 mousedownmousemovemouseup注意事项:被拖动的div的position属性值一定是absolute.切记不可使用margin-top:10px;而应该使用top:10p ...

  2. 【nginx】中server配置说明

    server { listen 80; //监听的端口号 server_name localhost; //用域名方式访问的地址 #charset koi8-r; //编码 #access_log / ...

  3. python数字常量

    数学常量 pi 数学常量 pi(圆周率,一般以π来表示) e 数学常量 e,e即自然常数(自然常数).

  4. 项目Alpha冲刺——代码规范、任务及计划

    代码规范 JS规范 JS规范在线预览 PHP规范 PHP规范在线预览 Unity C#脚本规范 C#规范下载 任务计划 图表 计划进度燃尽表 网站部分任务计划 任务 时间 内容 第一天 4.24 阅读 ...

  5. 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】

    视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...

  6. python中的多线程和多进程编程

    注意:多线程和多线程编程是不同的!!! 第一点:一个进程相当于一个要执行的程序,它会开启一个主线程,多线程的话就会再开启多个子线程:而多进程的话就是一个进程同时在多个核上进行: 第二点:多线程是一种并 ...

  7. linux删除软链接文件【原创】

    删除软链接文件时,不要加“/”,去注意 正确方法: rm -rf ./softlinkfile 错误方法: rm -rf ./softlinkfile/ 上面错误的操作,这样会把软链接的源文件一同删除 ...

  8. java学习笔记07-循环

    java有三种主要的循环结构 while循环 do...while循环 for循环 while循环 while(布尔表达式){ //循环内容 } public static void main(Str ...

  9. 三、vue之router

    三.vue之router 此时vue的脚手架.创建项目已经完成. ... vue的运行流程 index.html-->main.js-->App.vue-->router/index ...

  10. spring-cloud-zuul服务网关

    Zuul包含了对请求的路由和过滤两个最主要的功能: 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,类似于保安的职能,而过滤器功能则负责对请求的处理过程进行干预,是实 ...