溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker系列01-容器初探

發(fā)布時(shí)間:2020-06-14 21:19:14 來(lái)源:網(wǎng)絡(luò) 閱讀:392 作者:eflypro小普 欄目:云計(jì)算

關(guān)于容器的發(fā)展史


關(guān)于容器有不得不說(shuō)的歷史故事,以下資料來(lái)自于互聯(lián)網(wǎng)收集整理所得:

容器概念始于 1979 年提出的 UNIX chroot,它是一個(gè) UNIX 操作系統(tǒng)的系統(tǒng)調(diào)用,將一個(gè)進(jìn)程及其子進(jìn)程的根目錄改變到文件系統(tǒng)中的一個(gè)新位置,讓這些進(jìn)程只能訪問(wèn)到這個(gè)新的位置,從而達(dá)到了進(jìn)程隔離的目的。

2000 年的時(shí)候 FreeBSD 開(kāi)發(fā)了一個(gè)類似于 chroot 的容器技術(shù) Jails,這是最早期,也是功能最多的容器技術(shù)。Jails 英譯過(guò)來(lái)是監(jiān)獄的意思,這個(gè)“監(jiān)獄”(用沙盒更為準(zhǔn)確)包含了文件系統(tǒng)、用戶、網(wǎng)絡(luò)、進(jìn)程等的隔離。

2001 Linux 也發(fā)布自己的容器技術(shù) Linux VServer,2004 Solaris 也發(fā)布了 Solaris Containers,兩者都將資源進(jìn)行劃分,形成一個(gè)個(gè) zones,又叫做虛擬服務(wù)器。

2005 年推出 OpenVZ,它通過(guò)對(duì) Linux 內(nèi)核進(jìn)行補(bǔ)丁來(lái)提供虛擬化的支持,每個(gè) OpenVZ 容器完整支持了文件系統(tǒng)、用戶及用戶組、進(jìn)程、網(wǎng)絡(luò)、設(shè)備和 IPC 對(duì)象的隔離。

2007 年 Google 實(shí)現(xiàn)了 Control Groups( cgroups ),并加入到 Linux 內(nèi)核中,這是劃時(shí)代的,為后期容器的資源配額提供了技術(shù)保障。

2008 年基于 cgroups 和 linux namespace 推出了第一個(gè)最為完善的 Linux 容器 LXC。

2013 年推出到現(xiàn)在為止最為流行和使用最廣泛的容器 Docker,相比其他早期的容器技術(shù),Docker 引入了一整套容器管理的生態(tài)系統(tǒng),包括分層的鏡像模型,容器注冊(cè)庫(kù),友好的 Rest API。

2014 年 CoreOS 也推出了一個(gè)類似于 Docker 的容器 Rocket,CoreOS 一個(gè)更加輕量級(jí)的 Linux 操作系統(tǒng),在安全性上比 Docker 更嚴(yán)格。

2016 年微軟也在 Windows 上提供了容器的支持,Docker 可以以原生方式運(yùn)行在 Windows 上,而不是需要使用 Linux 虛擬機(jī)。




容器與虛擬機(jī)的區(qū)別


Docker系列01-容器初探

左邊是虛擬機(jī)右邊是容器,從感官上,虛擬機(jī)的層級(jí)明顯是比容器多,多了一個(gè)操作系統(tǒng),而容器則是在原有操作系統(tǒng)上利用資源隔離等相關(guān)技術(shù)做了封裝并實(shí)現(xiàn)了在應(yīng)用層互相獨(dú)立隔離,達(dá)到了類似虛擬機(jī)之間隔離獨(dú)立的效果而性能損失較虛擬機(jī)這種方式少。虛擬機(jī)的方式也不是一無(wú)是處,虛擬機(jī)有它自身的優(yōu)點(diǎn),比如他是以上層再運(yùn)行多個(gè)操作系統(tǒng)實(shí)例的方式做承載和隔離,更符合計(jì)算機(jī)的運(yùn)行機(jī)制,程序代碼遷移成本也更低,容器則往往需要一定的技術(shù)積累,才能做好容器對(duì)應(yīng)的鏡像??傮w來(lái)講,方案沒(méi)有絕對(duì)的優(yōu)劣之分,只有最適合自己需求的就是好方案。



容器的特點(diǎn)


一句話總結(jié)容器的特點(diǎn):Build?once,Run?anywhere !(搭建一次,到處能用)

Docker技術(shù)的三大核心概念,分別是:

●? 鏡像(Image)

●? 容器(Container)

●? 倉(cāng)庫(kù)(Repository)

這些我們?cè)诤罄m(xù)的實(shí)戰(zhàn)文章會(huì)詳細(xì)展開(kāi)描述,同時(shí)還會(huì)介紹容器的更多優(yōu)點(diǎn)和便捷性。


不得不說(shuō)的K8S


Kubernetes(簡(jiǎn)稱K8s,是用8代替8個(gè)字符“ubernete”而成的縮寫)是Google開(kāi)源的一個(gè)容器編排引擎。既然已經(jīng)有了流行的docker產(chǎn)品了,為什么還會(huì)衍生出一個(gè)k8s而且得到眾多云商青睞并在k8s基礎(chǔ)上退出自己的容器服務(wù)DaaS呢,那就不得不說(shuō)k8s的特點(diǎn):

● 協(xié)調(diào)輔助進(jìn)程,協(xié)助應(yīng)用程序整合,維護(hù)一對(duì)一“程序 – 鏡像”模型。

● 掛載存儲(chǔ)系統(tǒng)

● 分布式機(jī)密信息

● 檢查程序狀態(tài)

● 復(fù)制應(yīng)用實(shí)例

● 使用橫向莢式自動(dòng)縮放

● 命名與發(fā)現(xiàn)

負(fù)載均衡

● 滾動(dòng)更新

● 資源監(jiān)控

● 訪問(wèn)并讀取日志

● 程序調(diào)試

● 提供驗(yàn)證與授權(quán)


向AI問(wèn)一下細(xì)節(jié)

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

AI