官术网_书友最值得收藏!

2.1 核心概念

Docker大部分的操作都圍繞著它的三大核心概念:鏡像、容器和倉庫。因此,準確把握這三大核心概念對于掌握Docker技術尤為重要。

1. Docker鏡像

Docker鏡像類似于虛擬機鏡像,可以將它理解為一個只讀的模板。

例如,一個鏡像可以包含一個基本的操作系統環境,里面僅安裝了Apache應用程序(或用戶需要的其他軟件)。可以把它稱為一個Apache鏡像。

鏡像是創建Docker容器的基礎。

通過版本管理和增量的文件系統,Docker提供了一套十分簡單的機制來創建和更新現有的鏡像,用戶甚至可以從網上下載一個已經做好的應用鏡像,并直接使用。

2. Docker容器

Docker容器類似于一個輕量級的沙箱,Docker利用容器來運行和隔離應用。

容器是從鏡像創建的應用運行實例。它可以啟動、開始、停止、刪除,而這些容器都是彼此相互隔離、互不可見的。

可以把容器看作一個簡易版的Linux系統環境(包括root用戶權限、進程空間、用戶空間和網絡空間等)以及運行在其中的應用程序打包而成的盒子。

注意

鏡像自身是只讀的。容器從鏡像啟動的時候,會在鏡像的最上層創建一個可寫層。

3. Docker倉庫

Docker倉庫類似于代碼倉庫,是Docker集中存放鏡像文件的場所。

有時候我們會將Docker倉庫和倉庫注冊服務器(Registry)混為一談,并不嚴格區分。實際上,倉庫注冊服務器是存放倉庫的地方,其上往往存放著多個倉庫。每個倉庫集中存放某一類鏡像,往往包括多個鏡像文件,通過不同的標簽(tag)來進行區分。例如存放Ubuntu操作系統鏡像的倉庫,被稱為Ubuntu倉庫,其中可能包括16.04、18.04等不同版本的鏡像。倉庫注冊服務器的示例如圖2-1所示。

圖2-1 注冊服務器與倉庫

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

目前,最大的公開倉庫是官方提供的Docker Hub,其中存放著數量龐大的鏡像供用戶下載。國內不少云服務提供商(如騰訊云、阿里云等)也提供了倉庫的本地源,可以提供穩定的國內訪問。

當然,用戶如果不希望公開分享自己的鏡像文件,Docker也支持用戶在本地網絡內創建一個只能自己訪問的私有倉庫。

當用戶創建了自己的鏡像之后就可以使用push命令將它上傳到指定的公有或者私有倉庫。這樣用戶下次在另外一臺機器上使用該鏡像時,只需要將其從倉庫上pull下來就可以了。

注意

可以看出,Docker利用倉庫管理鏡像的設計理念與Git代碼倉庫的概念非常相似,實際上Docker設計上借鑒了Git的很多優秀思想。

主站蜘蛛池模板: 徐州市| 屏南县| 郑州市| 富平县| 大化| 莱芜市| 大姚县| 德化县| 阜新市| 北海市| 乌兰浩特市| 永新县| 汶上县| 桐庐县| 叙永县| 平顶山市| 栾川县| 牟定县| 紫云| 囊谦县| 抚远县| 东方市| 简阳市| 永德县| 嵩明县| 通江县| 湘潭县| 弋阳县| 囊谦县| 辽阳市| 呼玛县| 辽阳县| 四子王旗| 贵溪市| 南城县| 高唐县| 关岭| 华蓥市| 象山县| 南昌县| 彰武县|