docker 容器的啟動過程

docker run
picture
首先系統(tǒng)要有一個docker daemon的后臺進程在運行,當剛才這行命令敲下時,
1. docker client(即:docker終端命令行)會調(diào)用docker daemon請求啟動一個容器,

2. docker daemon會向host os(即:linux)請求創(chuàng)建容器

3. linux會創(chuàng)建一個空的容器(可以簡單理解為:一個未安裝操作系統(tǒng)的裸機,只有虛擬出來的CPU、內(nèi)存等硬件資源)

4. docker daemon請檢查本機是否存在docker鏡像文件(可以簡單理解為操作系統(tǒng)安裝光盤),如果有,則加載到容器中(即:光盤插入裸機,準備安裝操作系統(tǒng))

5. 將鏡像文件加載到容器中(即:裸機上安裝好了操作系統(tǒng),不再是裸機狀態(tài))

最后,我們就得到了一個ubuntu的虛擬機,然后就可以進行各種操作了。

如果在第4步檢查本機鏡像文件時,發(fā)現(xiàn)文件不存在,則會到默認的docker鏡像注冊機構(即:docker hub網(wǎng)站)去聯(lián)網(wǎng)下載,下載回來后,再進行裝載到容器的動作

  • 每個容器運行時,是以鏡像為基礎層,在其上創(chuàng)建一個存儲層,容器存儲層的生命周期和容器一樣,一起活一起死。
  • 容器存儲層要保持無狀態(tài)化。應用volume和綁定卷時,會在這些位置的讀寫會跳過容器的存儲層,實現(xiàn)數(shù)據(jù)持久化。
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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