溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker基礎概念

發(fā)布時間:2020-08-16 11:06:53 來源:網(wǎng)絡 閱讀:136 作者:lizhironglucky 欄目:系統(tǒng)運維

1、docker鏡像

docker鏡像類似于虛擬機的鏡像,類似于我們安裝系統(tǒng)的windows系統(tǒng),有的系統(tǒng)是純凈版(只有基礎的os),有的是克隆版(在os上安裝了軟件,如:qq等)。但他是靜態(tài)的,是只讀的。

鏡像是創(chuàng)建docker容器的基礎。

鏡像是分層存儲

鏡像由多層文件系統(tǒng)聯(lián)合組成(我們可以在pull鏡像、創(chuàng)建鏡像來充分理解這個概念)

鏡像構建時,會一層層構建,前一層是后一層的基礎。每一層構建完就不會再發(fā)生改變,后一層上的任何改變只發(fā)生在自己這一層。比如,刪除前一層文件的操作,實際不是真的刪除前一層的文件,而是僅在當前層標記為該文件已刪除。在最終容器運行的時候,雖然不會看到這個文件,但是實際上該文件會一直跟隨鏡像。因此,在構建鏡像的時候,需要額外小心,每一層盡量只包含該層需要添加的東西,任何額外的東西應該在該層構建結束前清理掉。

2、docker容器

容器是從鏡像創(chuàng)建的應用運行的實例。他可以啟動、開始、停止、刪除,而這些容器都是相互隔離、互不可見的。容器從鏡像啟動的時候,會在鏡像的最上層創(chuàng)建一個可寫層(存儲層)

容器存儲層的生存周期和容器一樣,容器消亡時,容器存儲層也隨之消亡。因此,任何保存于容器存儲層的信息都會隨容器刪除而丟失。

? 容器不應該向其存儲層內寫入任何數(shù)據(jù),容器存儲層要保持無狀態(tài)化。所有的文件寫入操作,都應該使用數(shù)據(jù)卷(Volume)、或者綁定宿主目錄,在這些位置的讀寫會跳過容器存儲層,直接對宿主(或網(wǎng)絡存儲)發(fā)生讀寫,其性能和穩(wěn)定性更高。

? 數(shù)據(jù)卷的生存周期獨立于容器,容器消亡,數(shù)據(jù)卷不會消亡。因此,使用數(shù)據(jù)卷后,容器刪除或者重新運行之后,數(shù)據(jù)卻不會丟失。

簡單來說,容器就是鏡像運行起來的一個沙盒。

3、docker倉庫

docker 倉庫類似于代碼倉庫,是docker集中存放鏡像文件的場所。我們構建完鏡像,可以push上傳到倉庫,下次使用可以pull下來直接使用。

docker可以分為公開倉庫(public),官方提供的倉庫是docker HUB(https://hub.docker.com)。國內的一些云服務商提供了針對Docker Hub 的鏡像服務(Registry Mirror),這些鏡像服務被稱為加速器。常見的有阿里云加速器(https://ddddsl2r.mirror.aliyuncs.com) 、DaoCloud加速器(https://www.daocloud.io/mirror#accelerator-doc) 等?.還有一類是私有倉庫,用戶還可以在本地搭建私有Docker Registry。Docker 官方提供了 Docker Registry 鏡像,可以直接使用做為私有 Registry 服務。另外,除了官方的Docker Registry外,還有第三方軟件實現(xiàn)了Docker Registry API,甚至提供了用戶界面以及一些高級功能。比如,VMWare Harbor和Sonatype Nexus。

倉庫注冊服務器(registry)是存放倉庫的地方,他上面往往存放著多個倉庫。每個倉庫集中存放某一類鏡像,包含的多個鏡像通常使用不同標簽(tag)進行區(qū)分。我們可以通過<倉庫名>:<標簽> 的格式來指定具體是這個軟件哪個版本的鏡像。如果不給出標簽,將以 latest 作為默認標簽。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI