Image Layer

Docker image在儲存時候也是以layer的方式儲存,因此在每個RUN都可以完整的保存中間的紀錄,但是往往也造成其他問題... 例如image空間非常巨大... From一個大的Image通常只會更大,小不下來...

例如:

From centos

RUN wget http://xxxx.xxxx/xxx.data #假設這裡有5G

RUN rm xxx.data #本來以為會把5G刪掉

在上面的build file中,通常image build起來還會是5G...

下面是網路上找到可以Flatten Image的方式,透過簡單的export/import就可以讓之間的空間巧妙的縮減下來唷:

docker export <CONTAINER ID> | docker import - some-image-name:latest

如果要完整地把Image在建置時候就最小化,可以修改dockerfile:

From centos

RUN wget http://xxxx.xxxx/xxx.data &&\
    rm xxx.data

在一個RUN下面只會有一次的commit,就會有效的縮小image的空間唷~

results matching ""

    No results matching ""