文章出處

這一節我們來稍微了解下docker原理性的東西

docker run -i -t ubuntu /bin/bash

輸入上面這行命令,啟動一個ubuntu容器時,到底發生了什么?

大致過程可以用下圖描述:

首先系統要有一個docker daemon的后臺進程在運行,當剛才這行命令敲下時,

1. docker client(即:docker終端命令行)會調用docker daemon請求啟動一個容器,

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

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

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

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

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

 

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

另外官網有一張圖也很形象的描述了這個過程:

參考文章:

https://www.gitbook.com/book/joshhu/docker_theory_install/details

https://docs.docker.com/engine/introduction/understanding-docker/


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()