docker作業系統的攢建過程

caohongfeng666發表於2019-05-20

docker作業系統的攢建過程


1.  docker 映象 (靜態的映象層layer,動態的json)

Linux 核心+ubuntu 作業系統發行版,組成一臺工作的機器讓使用者體驗。那麼靈活替換 ubuntu 作業系統發行版,那是不是也可以實現呢。那麼 Docker 很方便的利用了這一點,技術手段就是 Docker 映象。


Docker 的架構中,Docker 映象就是類似於 “ubuntu 作業系統發行版”,可以在任何滿足要求的 Linux 核心之上執行。


以上內容是從宏觀的角度看看 Docker 映象是什麼,我們再從微觀的角度進一步深入 Docker 映象。剛才提到了“Debian 映象中安裝 MySQL 5.6,就成了 mysql:5.6 映象”,其實在此時 Docker 映象的層級概念就體現出來了。底層一個 Debian 作業系統映象,上面疊加一個 mysql 層,就完成了一個 mysql 映象的構建。層級概念就不難理解,此時我們一般 debian 作業系統映象稱為 mysql 映象層的父映象。


Docker 映象的內容主要包含兩個部分:第一,映象層檔案內容;第二,映象 json 檔案

研究映象與容器的關係:容器是一個動態的環境,每一層映象中的檔案屬於靜態內容,然而 Dockerfile 中的 ENV、VOLUME、CMD 等內容最終都需要落實到容器的執行環境中,而這些內容均不可能直接坐落到每一層映象所包含的檔案系統內容中,那此時每一個 Docker 映象還會包含 json 檔案記錄與容器之間的關係


2.   Docker Daemon

Docker Daemon 的作用就是以下兩點:

    1.將 Docker 映象的映象層檔案作為 Docker 容器的 rootfs。

    2.提取 Docker 映象 json 檔案中的動態檔案,確定啟動程式,併為之配置動態執行環境。

Docker Daemon、Docker 映象以及 Docker 容器三者的簡單示意圖如下:


     

2.  檔案系統,層級檔案系統


3.  程式管理,namespace


4.  資源管理,cgroup

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25380026/viewspace-2644929/,如需轉載,請註明出處,否則將追究法律責任。

相關文章