關(guān)于容器的發(fā)展史
創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元沙洋做網(wǎng)站,已為上家服務(wù),為沙洋各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
關(guān)于容器有不得不說的歷史故事,以下資料來自于互聯(lián)網(wǎng)收集整理所得:
容器概念始于 1979 年提出的 UNIX chroot,它是一個 UNIX 操作系統(tǒng)的系統(tǒng)調(diào)用,將一個進(jìn)程及其子進(jìn)程的根目錄改變到文件系統(tǒng)中的一個新位置,讓這些進(jìn)程只能訪問到這個新的位置,從而達(dá)到了進(jìn)程隔離的目的。
2000 年的時候 FreeBSD 開發(fā)了一個類似于 chroot 的容器技術(shù) Jails,這是最早期,也是功能最多的容器技術(shù)。Jails 英譯過來是監(jiān)獄的意思,這個“監(jiān)獄”(用沙盒更為準(zhǔn)確)包含了文件系統(tǒng)、用戶、網(wǎng)絡(luò)、進(jìn)程等的隔離。
2001 Linux 也發(fā)布自己的容器技術(shù) Linux VServer,2004 Solaris 也發(fā)布了 Solaris Containers,兩者都將資源進(jìn)行劃分,形成一個個 zones,又叫做虛擬服務(wù)器。
2005 年推出 OpenVZ,它通過對 Linux 內(nèi)核進(jìn)行補(bǔ)丁來提供虛擬化的支持,每個 OpenVZ 容器完整支持了文件系統(tǒng)、用戶及用戶組、進(jìn)程、網(wǎng)絡(luò)、設(shè)備和 IPC 對象的隔離。
2007 年 Google 實(shí)現(xiàn)了 Control Groups( cgroups ),并加入到 Linux 內(nèi)核中,這是劃時代的,為后期容器的資源配額提供了技術(shù)保障。
2008 年基于 cgroups 和 linux namespace 推出了第一個最為完善的 Linux 容器 LXC。
2013 年推出到現(xiàn)在為止最為流行和使用最廣泛的容器 Docker,相比其他早期的容器技術(shù),Docker 引入了一整套容器管理的生態(tài)系統(tǒng),包括分層的鏡像模型,容器注冊庫,友好的 Rest API。
2014 年 CoreOS 也推出了一個類似于 Docker 的容器 Rocket,CoreOS 一個更加輕量級的 Linux 操作系統(tǒng),在安全性上比 Docker 更嚴(yán)格。
2016 年微軟也在 Windows 上提供了容器的支持,Docker 可以以原生方式運(yùn)行在 Windows 上,而不是需要使用 Linux 虛擬機(jī)。
容器與虛擬機(jī)的區(qū)別
左邊是虛擬機(jī)右邊是容器,從感官上,虛擬機(jī)的層級明顯是比容器多,多了一個操作系統(tǒng),而容器則是在原有操作系統(tǒng)上利用資源隔離等相關(guān)技術(shù)做了封裝并實(shí)現(xiàn)了在應(yīng)用層互相獨(dú)立隔離,達(dá)到了類似虛擬機(jī)之間隔離獨(dú)立的效果而性能損失較虛擬機(jī)這種方式少。虛擬機(jī)的方式也不是一無是處,虛擬機(jī)有它自身的優(yōu)點(diǎn),比如他是以上層再運(yùn)行多個操作系統(tǒng)實(shí)例的方式做承載和隔離,更符合計(jì)算機(jī)的運(yùn)行機(jī)制,程序代碼遷移成本也更低,容器則往往需要一定的技術(shù)積累,才能做好容器對應(yīng)的鏡像??傮w來講,方案沒有絕對的優(yōu)劣之分,只有最適合自己需求的就是好方案。
容器的特點(diǎn)
一句話總結(jié)容器的特點(diǎn):Build?once,Run?anywhere !(搭建一次,到處能用)
Docker技術(shù)的三大核心概念,分別是:
●? 鏡像(Image)
●? 容器(Container)
●? 倉庫(Repository)
這些我們在后續(xù)的實(shí)戰(zhàn)文章會詳細(xì)展開描述,同時還會介紹容器的更多優(yōu)點(diǎn)和便捷性。
不得不說的K8S
Kubernetes(簡稱K8s,是用8代替8個字符“ubernete”而成的縮寫)是Google開源的一個容器編排引擎。既然已經(jīng)有了流行的docker產(chǎn)品了,為什么還會衍生出一個k8s而且得到眾多云商青睞并在k8s基礎(chǔ)上退出自己的容器服務(wù)DaaS呢,那就不得不說k8s的特點(diǎn):
● 協(xié)調(diào)輔助進(jìn)程,協(xié)助應(yīng)用程序整合,維護(hù)一對一“程序 – 鏡像”模型。
● 掛載存儲系統(tǒng)
● 分布式機(jī)密信息
● 檢查程序狀態(tài)
● 復(fù)制應(yīng)用實(shí)例
● 使用橫向莢式自動縮放
● 命名與發(fā)現(xiàn)
● 負(fù)載均衡
● 滾動更新
● 資源監(jiān)控
● 訪問并讀取日志
● 程序調(diào)試
● 提供驗(yàn)證與授權(quán)