1. 程式人生 > >docker之使用System.Drawing生成圖片缺少Gdiplus.dll錯誤

docker之使用System.Drawing生成圖片缺少Gdiplus.dll錯誤

dock comm usr sdk plus container localtime pda window

Windows下面運行正常,部署到Linux的docker上之後,報錯顯示缺少gdiplus.dll;這個是Windows的gdi組件,在Linux下要安裝環境

解決方法一

修改Dockerfile;添加gidplus組件的安裝:

RUN apt-get update
RUN apt-get install libgdiplus

完整如下:

#依賴原始的鏡像,dotnet鏡像根據實際版本下載好
FROM microsoft/dotnet:1.1.4-sdk

## 時區設置,默認是【格林威治時間】
#ENV TZ=Asia/Shanghai
#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#
RUN apt
-get update RUN apt-get install libgdiplus #設置COPY命令的工作目錄 WORKDIR /app # 把當前目錄的文件復制到【root】目錄下去 COPY . /app/ # 鏡像對外監聽端口 EXPOSE 9001 # dotnet coer 命令啟動入口DLL文件 ENTRYPOINT ["dotnet", "DotnetCoreQrcoderTest.dll"]

解決方法二

直接修改基礎鏡像後制作成自己的鏡像

進行鏡像對應的容器

docker run -it container01

docker exec -ti container01 /bin/bash

apt-get install libgdiplus

(如果失敗,先運行apt-get update 在運行上面的命令)

exit

docker commit container01 myimages/aspnetcore:2.0

( docker save container01 > lind_aspnetcore.tar //當然也可以把容器保存為tar包)

文檔引用:

http://www.cnblogs.com/lori/p/7543886.html

docker之使用System.Drawing生成圖片缺少Gdiplus.dll錯誤