區別:1、容器是從映象建立的執行範例,映象啟動後的一個範例稱為容器,是獨立執行的一個或一組應用;2、倉庫是集中存放映象檔案的場所,倉庫註冊伺服器一般存放多個倉庫,每個倉庫又有多個映象,每個映象又有不同的標籤。
本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。
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其它相關文章!