jenkins docker 安装libgdiplus libc6-dev 支持Drawing组件 dockerfile配置

分类: NetCore

安装apt-get 安装 libc6-dev , libgdiplus 用于支持system.drawing 组件绘制,默认ubuntu命令

  1. RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev

此方式每次构建都会重新install,因为镜像源的问题会很慢(最多30多分钟左右,偶尔还失败),每次项目构建发布该方式导致构建需要30多分钟实在让人无法接受。


配置apt的资源,采用阿里云资源仓库 必须是debian 10 buster版本

  1. RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
  2. echo "deb http://mirrors.aliyun.com/debian/ buster main non-free contrib" >/etc/apt/sources.list && \
  3. echo "deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib" >>/etc/apt/sources.list && \
  4. echo "deb http://mirrors.aliyun.com/debian-security buster/updates main" >>/etc/apt/sources.list && \
  5. echo "deb-src http://mirrors.aliyun.com/debian-security buster/updates main" >>/etc/apt/sources.list && \
  6. echo "deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \
  7. echo "deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \
  8. echo "deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list && \
  9. echo "deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list
  10. RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev

这个时候在构建的时候就很快了。

完整dockerfile

  1. FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
  2. #FROM mcr.microsoft.com/dotnet/core/sdk:3.1
  3. #安装apt-get 安装 libc6-dev , libgdiplus 用于支持system.drawing 组件绘制,默认ubuntu命令
  4. #RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
  5. # 配置apt的资源,采用阿里云资源仓库 必须是debian 10 buster版本
  6. RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
  7. echo "deb http://mirrors.aliyun.com/debian/ buster main non-free contrib" >/etc/apt/sources.list && \
  8. echo "deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib" >>/etc/apt/sources.list && \
  9. echo "deb http://mirrors.aliyun.com/debian-security buster/updates main" >>/etc/apt/sources.list && \
  10. echo "deb-src http://mirrors.aliyun.com/debian-security buster/updates main" >>/etc/apt/sources.list && \
  11. echo "deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \
  12. echo "deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \
  13. echo "deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list && \
  14. echo "deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list
  15. RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
  16. WORKDIR api
  17. #项目设置里面将所有需要输出的xml文件输出到同一个doc目录下面
  18. ADD ./bin/Release/netcoreapp3.1/publish/ /api/
  19. ENTRYPOINT ["dotnet","/api/xxx.api.dll","--environment","Debug"]
标签: Docker

上一篇: NETCore RazorPages 静态生成方案

下一篇: .NETCORE FormBody和FormFrom 绑定取值问题

by 2023-08-07 23:49:06
篇笔记

学习笔记