1. 程式人生 > >docker學習-02組成和底層原理

docker學習-02組成和底層原理

Docker的基本組成:
        映象(image):一個只讀的模板。映象可以用來建立 Docker 容器,一個映象可以建立很多容器。

         
      容器(container):映象建立的執行例項
             它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。
              可以把容器看做是一個簡易版的 Linux 環境(包括root使用者許可權、程序空間、使用者空間和網路空間等)和執行在其中的應用程式。
              容器的定義和映象幾乎一模一樣,也是一堆層的統一視角,唯一區別在於容器的最上面那一層是可讀可寫的。
      倉庫(repository):

集中存放映象檔案的場所。

              倉庫(Repository)和倉庫註冊伺服器(Registry)是有區別的。倉庫註冊伺服器上往往存放著多個倉庫,每個倉庫中又包含了多個映象,每個映象有不同的標籤(tag)。
             倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。
             最大的公開倉庫是 Docker Hub(https://hub.docker.com/),存放了數量龐大的映象供使用者下載。國內的公開倉庫包括阿里雲 、網易雲 等。

  

總結: 

         Docker 本身是一個容器執行載體或稱之為管理引擎。我們把應用程式和配置依賴打包好形成一個可交付的執行環境,這個打包好的執行環境就似乎 image映象檔案。只有通過這個映象檔案才能生成 Docker 容器。image 檔案可以看作是容器的模板。          Docker 根據 image 檔案生成容器的例項。同一個 image 檔案,可以生成多個同時執行的容器例項
 
*  image 檔案生成的容器例項,本身也是一個檔案,稱為映象檔案。
 
*  一個容器執行一種服務,當我們需要的時候,就可以通過docker客戶端建立一個對應的執行例項,也就是我們的容器
 
* 至於倉儲,就是放了一堆映象的地方,我們可以把映象釋出到倉儲中,需要的時候從倉儲中拉下來就可以了。

Docker工作過程:

         Docker是一個Client-Server結構的系統,Docker守護程序執行在主機上, 然後通過Socket連線從客戶端訪問,守護程序從客戶端接受命令並管理執行在主機上的容器容器,是一個執行時環境,就是集裝箱

Docker與虛擬機器VM對比:

  (1)docker有著比虛擬機器更少的抽象層
  (2)docker利用的是宿主機的核心,而不需要Guest OS