中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

docker~aspnetcore2.0鏡像(xiang)缺(que)少libgdiplus問題

回到目錄

對于微軟官(guan)方提供(gong)的鏡(jing)像microsoft/aspnetcore2.0來(lai)說,它沒有安裝libgdiplus包,所以(yi)當你(ni)使(shi)用了draw去畫(hua)圖時,就(jiu)會(hui)出現一(yi)些(xie)問題,我(wo)們一(yi)般會(hui)安裝第三(san)方的包包,ZKWeb.System.Drawing,而發布到docker里之后(hou),運行時,會(hui)出現找不(bu)到dll的情況!

原因:

微軟的aspnetcore鏡(jing)像(xiang)是在Ubuntu操(cao)作(zuo)系統基(ji)礎(chu)之上的,而這(zhe)個(ge)系統上并沒有(you)安(an)裝libgdiplus,所以需(xu)要我們手動把鏡(jing)像(xiang)運行后,先安(an)裝一(yi)下,然后commit成自己的鏡(jing)像(xiang),以后對于這(zhe)種需(xu)要Drawing的項目,就(jiu)引用(yong)自己的鏡(jing)像(xiang)就(jiu)可以了(le)。

解(jie)決方法(一):

進行鏡像對應的容器

docker run -it containerid

然后去安裝它

apt-get install libgdiplus

然后退出

exit

最后commit成為自己的鏡像

sudo docker commit 8b10012d942f  lind/aspnetcore:2.0 

你可以把(ba)這個鏡像導出(chu),放到自(zi)己的服(fu)務器上

docker save 8b10012d942f > lind_aspnetcore.tar

最后(hou),在目(mu)標服(fu)務(wu)器(qi)上運行即可!

解決方法(二):

修改你(ni)的Dockerfile文(wen)件,使用RUN命令去(qu)安裝你(ni)的libgdiplus,但個(ge)人覺得,這種(zhong)有(you)些(xie)浪費資源,畢竟需要每(mei)個(ge)容器(qi)都要去(qu)安裝一(yi)個(ge)它,而且下載速(su)度(du)不敢恭維!

 

FROM microsoft/aspnetcore:2.0
ARG source

RUN apt-get update
RUN apt-get install libgdiplus

WORKDIR /app
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "LindSMS.dll"]

 

當然(ran)上(shang)面的(de)方案二不會產生新的(de)鏡(jing)像,這點到是挺干凈,哈(ha)哈(ha)!

感謝閱讀!

 回到目錄

posted @ 2017-09-18 16:48  張占嶺  閱讀(2130)  評論(0)    收藏  舉報