Docker多階段鏡像構(gòu)建的實(shí)現(xiàn)方法
國(guó)外服務(wù)器租用,階段
海外主機(jī)與大家分享了Docker多階段形象構(gòu)建的實(shí)現(xiàn)方法,相信大部分人都不是很了解,分享這篇文章供大家參考。希望你看完這篇文章后收獲很大。我們一起來(lái)看看。
自Docker版本17.05.0-ce以來(lái),一種新的構(gòu)建映像的方法得到了支持,稱為多階段構(gòu)建,旨在解決Docker構(gòu)建應(yīng)用程序容器中的一些痛點(diǎn)。在構(gòu)建容器的日常場(chǎng)景中,經(jīng)常會(huì)遇到在同一個(gè)容器中獲取、編譯和生成源代碼,最后構(gòu)建圖像的情況。這樣做的缺點(diǎn)是:
您必須在容器中安裝構(gòu)建程序所需的運(yùn)行時(shí)環(huán)境
我必須在同一個(gè)容器中獲得程序的源代碼和一些構(gòu)建所需的生態(tài)工具
構(gòu)建的映像甚至包含程序源代碼和一些不必要的文件,這導(dǎo)致容器映像的大小很大
當(dāng)然,還有一種稍微優(yōu)雅的方式,就是我們提前對(duì)外打包項(xiàng)目及其依賴的庫(kù)編譯測(cè)試,然后復(fù)制到構(gòu)建目錄。雖然這樣可以很好的避免第一種方式的風(fēng)險(xiǎn)點(diǎn),但是為了程序運(yùn)行的兼容性,還需要考慮不同鏡像運(yùn)行時(shí)帶來(lái)的差異。
事實(shí)上,Docker也想到了這些痛點(diǎn),政府提供了一個(gè)簡(jiǎn)單的多階段構(gòu)建方案。所謂多階段施工,就是把施工過(guò)程分為多個(gè)階段。在同一個(gè)Dockerfile中,通過(guò)不同的階段構(gòu)建和生成所需的應(yīng)用程序文件,最后將這些應(yīng)用程序文件添加到發(fā)布映像中。這樣做完全可以避免上面遇到的一系列問(wèn)題。多階段構(gòu)建的實(shí)現(xiàn)主要取決于新提供的關(guān)鍵詞:from和as。
這里有一個(gè)栗子:
多階段建設(shè)的好處不言而喻。通過(guò)Dockerfile從多個(gè)相互依賴的項(xiàng)目中構(gòu)建所需的容器映像很容易,并且不需要擔(dān)心映像太大和源代碼泄漏等風(fēng)險(xiǎn)。不得不說(shuō),這是一個(gè)非常好的進(jìn)步。
這就是《碼頭工人多階段形象建設(shè)實(shí)施方法》一文的全部?jī)?nèi)容。感謝閱讀!相信大家都有一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助。如果你想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注海外主機(jī)!
Tags:國(guó)外服務(wù)器租用,階段,Docker多階段鏡像構(gòu)建的實(shí)現(xiàn)方法
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。