什么是容器?容器技術有什么優(yōu)點?能解決什么樣的問題?
容器技術
有效的將單個操作系統的資源劃分到孤立的組中,以便更好的在孤立的組之間平衡有沖突的資源使用需求,這種技術就是容器技術。
容器是輕量級的操作系統級虛擬化,可以讓我們在一個資源隔離的進程中運行應用及其依賴項。運行應用程序所必需的組件都將打包成一個鏡像并可以復用。執(zhí)行鏡像時,它運行在一個隔離環(huán)境中,并且不會共享宿主機的內存、CPU 以及磁盤,這就保證了容器內進程不能監(jiān)控容器外的任何進程。
容器的好處
輕便:容器占用的服務器空間比虛擬機少,通常只需幾秒鐘即可啟動。
彈性:容器具有高彈性,不需要分配給定數量的資源。這意味著容器能夠更有效地動態(tài)使用服務器中的資源。當一個容器上的需求減少時,釋放額外的資源供其他容器使用。
密度:密度是指一次可以運行單個物理服務器的對象數。容器化允許創(chuàng)建密集的環(huán)境,其中主機服務器的資源被充分利用但不被過度利用。與傳統虛擬化相比,容器化允許更密集的環(huán)境容器不需要托管自己的操作系統。
性能:當資源壓力很大時,應用程序的性能遠遠高于使用虛擬機管理程序的容器。因為使用傳統的虛擬化,客戶操作系統還必須滿足其自身的內存需求,從主機上獲取寶貴的RAM。
容器究竟解決了什么問題?
大多問題都是在運行環(huán)境改變時才顯現的,可能是這樣一種場景,開發(fā)者把代碼從開發(fā)環(huán)境 push 到測試環(huán)境然后到更上層的環(huán)境。比如開發(fā)者在 Windows 上編寫應用代碼,但是上層環(huán)境(測試、stage 或是生產環(huán)境)是基于 Linux 的。在這種情況下,當操作系統變化時,應用的某些功能可能就會出現問題。所以,基本上,當配套軟件環(huán)境不一樣的時候,間歇性故障的幾率就會更大。
正如 Docker 創(chuàng)始人 Solomon Hykes 所說,“測試環(huán)境使用 Python 2.7,但是生產環(huán)境使用 Python 3,那么一些奇怪的事情就會發(fā)生?;蛘吣阋蕾嚹硞€特定版本的 SSl 庫的行為,但是卻安裝了另外一個版本。在 Debian 上運行測試環(huán)境,但是生產環(huán)境使用 Redhat,那么任何奇怪的事情都可能發(fā)生?!?br /> 改變可能不只是運行環(huán)境,也有可能是網絡,Hykes 補充道,“網絡拓撲可能不同,或者安全策略和存儲也有可能不同,但是,軟件需要在這些基礎設施上面運行?!?br /> 如果還有人問什么是容器,那么一定要推薦他看這一篇文章,相信在仔細的閱讀之后,大家都能茅塞頓開。我們對計算機的使用一直都是在不斷的學習中才能取得進步,想要學習更多的先進知識,歡迎大家長期關注新網。
聲明:免責聲明:本文內容由互聯網用戶自發(fā)貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發(fā)現本社區(qū)中有涉嫌抄襲的內容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創(chuàng)內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科