《Docker 源碼分析(11)》 學習筆記

  1. 存儲鏡像到宿主機:
    • 存儲鏡像內(nèi)容
    • 在graph 中注冊鏡像信息
  2. 鏡像注冊: 每一層docker layer的image都可以認為有兩個部分組成。
  • 鏡像中的文件系統(tǒng), 可以認為是未來的容器中的靜態(tài)文件內(nèi)容。
  • 容器的json文件, 包含基本屬性信息和動態(tài)信息包括env等等。
Register 過程
  1. 驗證鏡像ID
  • 驗證ID合法
  • 驗證鏡像是否存在
  • 初始化鏡像目錄: 防止路徑?jīng)_突; 刪除 graph.driver 中的指定內(nèi)容, 即如果該鏡像在graph.driver中存在的話, unmount 該鏡像在宿主機上的路徑, 并將目錄完全刪除。
  1. 創(chuàng)建鏡像路徑
    創(chuàng)建路徑完畢之后, Docker Daemon 首先將鏡像所有祖先通過aufs系統(tǒng)mount到mnt下指定點,最終直接返回鏡像所在rootfs路徑, 以便后續(xù)直接在該路徑下解壓Docker 鏡像具體內(nèi)容(只包含layer內(nèi)容)
1,2,3 為鏡像ID

Layers: 該鏡像所有祖先鏡像的鏡像ID

  • Create函數(shù):創(chuàng)建 layers, diff, mnt目錄并存儲metadata在layers中。
  • Get函數(shù): mount祖先鏡像并返回根目錄。
  1. 存儲鏡像內(nèi)容:
    *鏡像壓縮內(nèi)容
    *鏡像json信息
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,510評論 0 27
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,744評論 0 120
  • 原文發(fā)布在:http://cizixs.com/2016/04/06/docker-images,轉(zhuǎn)載請注明出處。...
    cizixs閱讀 2,826評論 1 16
  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,847評論 15 147
  • 猶豫幾天的事,還是選擇了去做。 今天,終于請到下午的課。午覺都沒睡,就和好友一起坐車前往目的地:湛江赤坎教育局。 ...
    荏苒之念閱讀 311評論 0 2

友情鏈接更多精彩內(nèi)容