国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

淺析Docker鏡像分層的注意事項

2024-09-01 13:48:25
字體:
來源:轉載
供稿:網友

前言

我們平常在對程序進行Docker鏡像打包的時候總會有些困惑,到底是將最終的鏡像分層打包最后匯總成程序的鏡像(也就是一層一層的 From )合適,還是說直接將程序從Source code就打包出最終的鏡像更合適呢?其實這里面沒有說那個是對或錯的,要看程序包自身的情況做選擇。

Docker build的注意點

如果接觸過Docker,Docker build大家都清楚怎么用了,但是有幾個容易忽略的注意點:

     1、Dockerfile開頭的 From 和 MAINTAINER 其實都是一層鏡像

     2、如果 From 和 MAINTAINER 不同,就算是后面的命令語句相同也不會是相同的鏡像。如都是執行 RUN echo "hello world" >> test.txt ,如果 MAINTAINER 不同,則生成的這個語句的鏡像層將是不同的。

     3、原理上如果每一層對應的父層不同,那怕執行的命令相同,Docker也會生成一層新的鏡像,如下面兩個Dockerfile文件

Dockerfile 1:

FROM centos:latestMAINTAINER duffqiu@gmail.comRUN echo "test" >> hello.txtRUN echo "hello" > test.txt

Dockerfile 2:

FROM centos:latestMAINTAINER duffqiu@gmail.comRUN echo "hello" > test.txtRUN echo "test" >> hello.txt

這兩個文件的內容只是兩個 RUN 語句順序不一樣,但是最后它們生成的image層是不一樣的,可以通過 docker history <image name> 來對比

從這里面也看到一個問題,From最好不要用lastest標簽,避免不同鏡像的頂層是不同,從而無法復用。

實踐建議

需要看具體情況,如果有一個包是公用的,且比較大,則最好先將這個包打成Image再給后續的程序打包使用,這樣使用時占用的機器磁盤空間最小,啟動時如果需要pull的話也最快。

但是如果包本身就是很小,過細的分層也不利于維護和管理,所以最終還是一個藝術問題

總結

以上就是這篇文章的全部內容,希望這篇文章的內容對大家的學習或者工作能有一定的幫助,如果有疑問大家可以留言交流。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延长县| 陆良县| 河津市| 丰台区| 凤凰县| 德保县| 光山县| 肇庆市| 揭阳市| 沅江市| 隆回县| 吉水县| 万全县| 陇南市| 阿尔山市| 集安市| 武宣县| 饶河县| 双桥区| 兖州市| 赤峰市| 秭归县| 三亚市| 巨野县| 涡阳县| 延津县| 县级市| 瑞昌市| 姜堰市| 墨竹工卡县| 绩溪县| 临西县| 金阳县| 西吉县| 禹州市| 浦北县| 菏泽市| 佳木斯市| 渝中区| 盐亭县| 商水县|