docker容器和倉庫的區別是什麼

2022-02-07 16:00:36

區別:1、容器是從映象建立的執行範例,映象啟動後的一個範例稱為容器,是獨立執行的一個或一組應用;2、倉庫是集中存放映象檔案的場所,倉庫註冊伺服器一般存放多個倉庫,每個倉庫又有多個映象,每個映象又有不同的標籤。

本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。

docker容器和倉庫的區別是什麼

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協定開源。

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,每個容器內執行一個應用,不同的容器相互隔離,容器之間不會有任何介面(類似 iPhone 的 app),容器之間也可以建立通訊機制。更重要的是容器效能開銷極低。容器的建立和停止都十分快速,容器自身對資源的需求也十分有限。

Docker 引擎的基礎是 Linux 容器(Linux Containers, LXC)技術。

Docker 映象

Docker映象(Image)類似於虛擬機器器映象,可以將它理解為一個面向 Docker 引擎的唯讀的模板。包含了檔案系統。

例如:一個映象可以只包含一個完整的 Ubuntu 作業系統環境,可以把它稱為一個 Ubuntu 映象。映象裡面僅安裝了 Apache 應用程式(或使用者需要的其他軟體)。可以把它稱為一個 Apache 映象。

映象是建立 Docker 容器的基礎。通過版本管理和增量的檔案系統,Docker 提供了一套十分簡單的機制來建立和更新現有的映象,使用者甚至可以從網上下載一個已經做好的應用映象,並直接使用。

Docker 容器

Docker容器(Container)類似於一個輕量級的沙箱,Docker 利用容器來執行和隔離應用。

容器是從映象建立的應用執行範例。可以將其啟動、開始、停止、刪除,而這些容器都是彼此相互隔離的、互不可見的。

可以把容器看做是一個簡易版的 Linux 系統環境 (包括 root 使用者許可權、程序空間、使用者空間和網路空間等) 以及執行在其中的應用程式打包而成的盒子。

映象自身是唯讀的。容器從映象啟動的時候,會在映象的最上層建立一個可寫層。

Docker 倉庫

Docker倉庫(Repository)類似於程式碼倉庫,它是 Docker 集中存放映象檔案的場所。

有時候會看到有資料將 Docker 倉庫和倉庫註冊伺服器 (Registry) 混為一談,並不嚴格區分。實際上,倉庫註冊伺服器是存放倉庫的地方,其上往往存放著多個倉庫。每個倉庫集中存放某一類映象,往往包括多個映象檔案,通過不同的標籤 (tag) 來進行區分。

例如存放 Ubuntu 作業系統映象的倉庫稱為 Ubuntu 倉庫,其中可能包括 14.04、12.04 等不同版本的映象。

根據所儲存的映象公開分享與否,Docker 倉庫可以分為公開倉庫 (Public) 和私有倉庫 (Private) 兩種形式。

目前,最大的公開倉庫是官方提供的 Docker Hub,其中存放了數量龐大的映象供使用者下載。國內不少雲服務提供商 (如時速雲、阿里雲等) 也提供了倉庫的本地源,可以提供穩定的國記憶體取。

當然,使用者如果不希望公開分享自己的映象檔案,Docker 也支援使用者在本地網路內建立一個只能自己存取的私有倉庫。當使用者建立了自己的映象之後就可以使用 push 命令將它上傳到指定的公有或者私有倉庫。這樣使用者下次在另外一臺機器上使用該映象時,只需要將其從倉庫上 pull 下來就可以了。

映象、容器、倉庫的區別

  • docker 映象(Images)

一個唯讀模板,可以用來建立容器,一個映象可以建立多個容器;

Docker 提供了一個很簡單的機制來建立和更新現有的映象,甚至可以直接從其他人那裡獲取做好的映象直接使用;

可以理解為 Java 中的類;

  • docker 容器(Container)

容器是從映象建立的執行範例,也就是映象啟動後的一個範例稱為容器,是獨立執行的一個或一組應用;

Docker 利用容器來執行應用,他可以被啟動、開始、停止、刪除,每個容器都是相互隔離的、保證安全的平臺;

可以把容器看做是一個簡易版的 Linux(包括 root 使用者許可權、程序空間、使用者空間和網路空間等)和執行在其中的應用程式;

可以理解為 Java 中通過類建立的範例;

  • docker 倉庫(Resoisitory)

倉庫是集中存放映象檔案的場所,類似 git 程式碼倉庫等;

倉庫(Respository)和倉庫註冊伺服器(Registry)是有區別的。倉庫註冊伺服器一般存放多個倉庫,每個倉庫又有多個映象,每個映象又有不同的標籤 tag;

倉庫分為公開倉庫(public)和私有倉庫(private)兩種形式;

最大的公開倉庫是 Docker Hub,國內的公開倉庫有阿里雲等;

可以在本地網路建立一個私有倉庫;

當建立好自己的映象後,可以通過 push 命令把它上傳到公開或私有倉庫;

倉庫的概念類似 Git,倉庫註冊伺服器可以理解為 GitHub 這種託管服務;

  • docker 主機(Host)

一個物理或虛擬的機器用來執行 Docker 守護行程和容器。

  • docker使用者端(Client)

使用者端通過命令列或其他工具使用 Docker。

推薦學習:《》

以上就是docker容器和倉庫的區別是什麼的詳細內容,更多請關注TW511.COM其它相關文章!