docker之使用System.Drawing生成圖片缺少Gdiplus.dll錯誤
阿新 • • 發佈:2017-10-30
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錯誤