Docker映象的優化

2021-10-03 21:33:27 字數 1082 閱讀 3698

1、清理不必要的中間產物

2、減少run命令的使用

3、使用多階段構建映象

4、選擇精簡的base映象

優化映象其實就是在能保證映象想要的作用的前提下,盡量減小映象的大小,節省資源。

優化映象有幾種途徑

注意:必須是在保證映象作用的前提下進行優化

下面通過實際操作來展示映象是如何被優化的,這裡我假設想要的是能夠執行nginx服務的功能的映象。

清理映象構建的中間產物,來達到縮減映象大小的目的。

由於每乙個run命令就會使映象的自定義映象層增加一層,所以可以盡量將需要用到run命令的操作寫到同乙個run中,這樣多個run就能合併為乙個,操作沒有變化,但映象層減少了,就能縮減映象的大小

由於安裝nginx時需要安裝一些依賴性軟體等,對系統改動較大,所以可以將構建映象的過程分為多個階段,比如此處簡單分為兩個階段

階段一:該階段主要用於通過正常的步驟安裝nginx,生成需要的nginx二進位制檔案。安裝過程對系統改動較大,會占用很多空間,所以階段一主要作為生成二進位制檔案的構建的中間產物,而不作為最終生成的映象使用

階段二:將階段一生成的二進位制檔案拷貝到階段二中,這樣階段二就不需要改動系統,只得到二進位制檔案即可,所以將階段二生成的映象作為最終生成的映象

若基礎映象小,構建出來的新映象就有很大的優勢,畢竟新映象是要在基礎映象之上進行操作的。

假設基礎映象只有20m,即使新映象增加的內容有40m,那麼最終的新映象大小也只有60m

而若基礎映象有200m,即使新映象增加的內容只有4m,那麼最終的新映象大小也有204m

所以說選擇盡量精簡的基礎映象是非常至關重要的

Docker映象壓縮和優化

在構建docker容器時,應該盡量想辦法獲得體積更小的映象,因為傳輸和部署體積較小的映象速度更快。但run語句總是會建立乙個新層,而且在生成映象之前還需要使用很多中間檔案,在這種情況下,該如何獲得體積更小的映象呢?示例 dockerfile from ubuntu 14.04 add run.sh ...

Linux之Docker(四)映象優化

隨著我們對docker映象的持續使用,在此過程中如果不加以注意並且優化,映象的體積會越來越大 很多時候我們在使用docker部署應用時,會發現映象的體積至少有1g以上 映象體積的增大,不單單會增加磁碟資源與網路資源的開銷,也會影響應用的部署效率,使得應用的部署時間會越來越長 因此我們需要減少部署映象...

docker映象體積優化方法與實踐

在私有化專案中,我司現場實施基本上是使用docker部署。而過大的映象體積會影響實施部署效率 xinqing 所以作為開發要想與實施和諧相處 bubeipeng 可以優化一下映象體積。1.減少dockerfile中的指令。如有多個run指令,可以用 符號連線。使用 run apt get updat...