怎么并線(三條電線怎么并線)
772
2025-03-31
容器提供了一種邏輯打包機(jī)制,以這種機(jī)制打包的應(yīng)用可以脫離其實(shí)際運(yùn)行的環(huán)境。利用這種脫離,不管目標(biāo)環(huán)境是私有數(shù)據(jù)中心、公有云,還是開發(fā)者的個(gè)人筆記本電腦,您都可以輕松、一致地部署基于容器的應(yīng)用。容器化使開發(fā)者和 IT 運(yùn)營團(tuán)隊(duì)的關(guān)注點(diǎn)涇渭分明 - 開發(fā)者專注于應(yīng)用邏輯和依賴項(xiàng),而 IT 運(yùn)營團(tuán)隊(duì)可以專注于部署和管理,不必為具體的軟件版本和應(yīng)用特有的配置等應(yīng)用細(xì)節(jié)分心。之前使用虛擬化環(huán)境的用戶經(jīng)常會(huì)將容器與虛擬機(jī) (VM) 進(jìn)行比較。您可能已經(jīng)熟悉虛擬機(jī)的定義:在主機(jī)操作系統(tǒng)上運(yùn)行且以虛擬化途徑訪問底層硬件的客機(jī)操作系統(tǒng)(如 Linux 或 Windows)。與虛擬機(jī)相似,容器也可以將應(yīng)用與庫和其他依賴項(xiàng)打包,提供獨(dú)立環(huán)境來運(yùn)行您的軟件服務(wù)。但是,我們從下方可以看到,兩者的相似性僅此而已,因?yàn)槿萜鳛殚_發(fā)者和 IT 運(yùn)營團(tuán)隊(duì)提供了更加輕型、具有眾多優(yōu)勢(shì)的運(yùn)營單元。
為什么要使用容器?
與虛擬機(jī)的硬件棧虛擬化不同,容器在操作系統(tǒng)級(jí)別進(jìn)行虛擬化,且可以直接在操作系統(tǒng)內(nèi)核上運(yùn)行多個(gè)容器。也就是說,容器更輕巧:它們共享操作系統(tǒng)內(nèi)核,啟動(dòng)速度更快,且與啟動(dòng)整個(gè)操作系統(tǒng)相比其占用的內(nèi)存微乎其微。可用的容器格式有許多。Docker 是一種廣受歡迎的開源容器格式,
為什么還要采用沙盒技術(shù)?
容器會(huì)將應(yīng)用相互隔離,除非您明確將它們連接起來。這意味著,您不必?fù)?dān)心依賴項(xiàng)沖突或資源爭用,因?yàn)槟梢詾槊宽?xiàng)服務(wù)設(shè)置明確的資源限制。重要的是,因?yàn)槟膽?yīng)用不是直接在主機(jī)操作系統(tǒng)上運(yùn)行,您可以獲得額外的安全保障。
一致的環(huán)境
容器讓開發(fā)者可以創(chuàng)建與其他應(yīng)用相隔離的可預(yù)測環(huán)境。容器還可以包含應(yīng)用所需的軟件依賴項(xiàng),比如具體的編程語言運(yùn)行時(shí)版本和其他軟件庫。從開發(fā)者的角度看,無論應(yīng)用最終部署在什么地方,都可以保證這些條件一致。這一切將轉(zhuǎn)化為生產(chǎn)力的提升:開發(fā)者和 IT 運(yùn)營團(tuán)隊(duì)可以減少調(diào)試和診斷環(huán)境差異所需的時(shí)間,將更多的時(shí)間用于為用戶提供新的功能。而且這也意味著 bug 更少,因?yàn)殚_發(fā)者現(xiàn)可在開發(fā)和測試環(huán)境中做出在生產(chǎn)環(huán)境中也適用的假設(shè)。
在任何地方運(yùn)行
容器幾乎能在任何地方運(yùn)行,極大減輕了開發(fā)和部署工作量:在 Linux、Windows 和 Mac 操作系統(tǒng)中;在虛擬機(jī)或裸機(jī)上;在開發(fā)者的機(jī)器或本地?cái)?shù)據(jù)中心的機(jī)器上;當(dāng)然還有在公有云上。而?Docker 容器映像格式廣受歡迎,則進(jìn)一步增強(qiáng)了可移植性。無論您希望在什么地方運(yùn)行軟件,都可以使用容器。
隔離
容器會(huì)在操作系統(tǒng)級(jí)別虛擬化 CPU、內(nèi)存、存儲(chǔ)和網(wǎng)絡(luò)資源,為開發(fā)者提供在邏輯上與其他應(yīng)用相隔離的沙盒化操作系統(tǒng)接口。
從代碼到應(yīng)用
借助容器,可以將應(yīng)用及其依賴項(xiàng)封裝為一個(gè)可進(jìn)行版本控制的簡潔清單文件,不但能讓團(tuán)隊(duì)中的開發(fā)者輕松復(fù)制您的應(yīng)用,還可在集群中的機(jī)器之間復(fù)制。
軟件庫將零碎的代碼打包在一起,讓開發(fā)者脫離用戶身份驗(yàn)證和會(huì)話管理等邏輯;與此類似,容器讓您可以將應(yīng)用整個(gè)打包,脫離操作系統(tǒng)、機(jī)器,甚至是代碼本身。結(jié)合基于服務(wù)的架構(gòu),要求開發(fā)者考慮的整體單元就會(huì)小許多,因而敏捷性和生產(chǎn)力更高。所有這些都能簡化應(yīng)用的開發(fā)、測試、部署和整體管理。
開發(fā)者 虛擬化
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。