Docker映象layer的理解

2021-10-05 04:16:44 字數 629 閱讀 2654

除了最上面的layer,映象的每一層都是唯讀的。最上面的layer是為container建立的,是可讀可寫的,用來實現「copy-on-write",意思就是僅當對一些位於唯讀層的檔案需要被編輯時,儲存在較低layer層中的檔案就會被拉到讀/寫容器層(最上面的一層),然後將那些更改儲存在容器層中。

由於有些layer層是唯讀的,因此這些唯讀的layer可以被image和執行容器共享。 例如,使用自己的dockerfile建立具有相似基礎層的新python應用程式,將共享與第乙個python應用程式相同的所有層。

從同一image啟動多個容器時,也可以看到layer層共享。 因為容器使用相同的唯讀層,所以可以想象啟動容器非常快,並且在主機上的占用空間非常小。

對於dockerfile中重複的部分的利用

可以將兩個dockerfile的公共**放到乙個基本dockerfile中,然後在子dockerfile使用from命令來使用公共的父dockerfile。

Docker學習 Docker映象

一 列出映象 命令 docker images optsions repositort a 標識列出所有 f 寫過濾條件 no trunc 不截斷id q 只顯示唯一id repository是倉庫名字 registry代表的是大庫 tag標籤名字 對應版本,id唯一標識 庫名字 標籤 對應乙個id...

docker映象的建立

自己建立映象 docker search 映象名 eg.docker search centos可以看到映象名 作者資訊 是否為官方 建立時間 大小等資訊 docker pull 映象名 標籤名 eg.docker pull centos latestfrom 作為基礎的映象名 maintainer...

Docker映象的優化

1 清理不必要的中間產物 2 減少run命令的使用 3 使用多階段構建映象 4 選擇精簡的base映象 優化映象其實就是在能保證映象想要的作用的前提下,盡量減小映象的大小,節省資源。優化映象有幾種途徑 注意 必須是在保證映象作用的前提下進行優化 下面通過實際操作來展示映象是如何被優化的,這裡我假設想...