天天看點

4.docker之基本三要素(鏡像,容器,倉庫)

docker主要由以下三大部分組成,鏡像(image)、容器(container)、倉庫(repository)。

1.鏡像

Docker 鏡像(Image)就是一個隻讀的模闆,它可以是一個可運作軟體(tomcat,mysql),也可以是一個系統(centos)。鏡像可以用來建立 Docker 容器,一個鏡像可以建立很多容器。

2.容器

Docker 利用容器(Container)獨立運作的一個或一組應用。容器是用鏡像建立的運作執行個體。它可以被啟動、開始、停止、删除。每個容器都是互相隔離的、保證安全的平台。可以把容器看做是一個簡易版的 Linux 環境(包括root使用者權限、程序空間、使用者空間和網絡空間等)和運作在其中的應用程式。容器的定義和鏡像幾乎一模一樣,也是一堆層的統一視角,唯一差別在于容器的最上面那一層是可讀可寫的。

3.倉庫

倉庫(Repository)是集中存放鏡像檔案的場所,類似GitHub存放項目代碼一樣,隻不過Docker Hub是由來存鏡像(image)的。倉庫(Repository)和倉庫注冊伺服器(Registry)是有差別的。倉庫注冊伺服器上往往存放着多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的标簽(tag,類似版本号)。

倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。

最大的公開倉庫是 Docker Hub(https://hub.docker.com/),存放了數量龐大的鏡像供使用者下載下傳。國内的公開倉庫包括阿裡雲 、網易雲 等。

鏡像和容器的關系

4.docker之基本三要素(鏡像,容器,倉庫)

Docker的架構圖

4.docker之基本三要素(鏡像,容器,倉庫)

總結

Docker 本身是一個容器運作載體或稱之為管理引擎。我們把應用程式和配置依賴打包好形成一個可傳遞的運作環境,這個打包好的運作環境就似乎 image鏡像檔案。隻有通過這個鏡像檔案才能生成 Docker 容器。image 檔案可以看作是容器的模闆。Docker 根據 image 檔案生成容器的執行個體。同一個 image 檔案,可以生成多個同時運作的容器執行個體。

image 檔案生成的容器執行個體,本身也是一個檔案,稱為鏡像檔案。

一個容器運作一種服務,當我們需要的時候,就可以通過docker用戶端建立一個對應的運作執行個體,也就是我們的容器。

至于倉儲,就是放了一堆鏡像的地方,我們可以把鏡像釋出到倉儲中,需要的時候從倉儲中拉下來就可以了。