Windows 容器
什么是容器
它們是隔離、資源控制且可移植的操作環(huán)境。
基本上,容器是一個(gè)隔離的位置,應(yīng)用程序可在其中運(yùn)行,而不會(huì)影響系統(tǒng)的其他部分,并且系統(tǒng)也不會(huì)影響該應(yīng)用程序。 容器是虛擬化的下一個(gè)演化。
如果你在容器內(nèi),看起來會(huì)很像你在一個(gè)新安裝的物理計(jì)算機(jī)或虛擬機(jī)內(nèi)。 并且,對(duì)?Docker?來說,可以使用與管理任何其他容器相同的方式來管理 Windows Server 容器。
class="video_iframe" data-vidtype="2" allowfullscreen frameborder="0" style=" z-index:1; " height="417" width="556" data-src="https://v.qq.com/iframe/preview.html?vid=o1313jsnws1&width=500&height=375&auto=0">
Windows 容器類型
Windows 容器包括兩個(gè)不同的容器類型或運(yùn)行時(shí)。
Windows Server 容器?- 通過進(jìn)程和命名空間隔離技術(shù)提供應(yīng)用程序隔離。 Windows Server 容器與容器主機(jī)和該主機(jī)上運(yùn)行的所有容器共享內(nèi)核。
Hyper-V 容器?- 通過在高度優(yōu)化的虛擬機(jī)中運(yùn)行每個(gè)容器,在由 Windows Server 容器提供的隔離上擴(kuò)展。 在此配置中,容器主機(jī)的內(nèi)核不與 Hyper-V 容器共享。
容器基礎(chǔ)知識(shí)
當(dāng)你開始使用容器時(shí),你會(huì)注意到容器和虛擬機(jī)之間的許多相似之處。 容器在操作系統(tǒng)上運(yùn)行、具有文件系統(tǒng),并且可以通過網(wǎng)絡(luò)訪問,就像它是物理或虛擬計(jì)算機(jī)系統(tǒng)一樣。 話雖如此,但容器背后的技術(shù)和概念與虛擬機(jī)有很大不同。
Mark Russinovich 所著的此博客文章很好地解釋了容器。
在你開始創(chuàng)建和使用 Windows 容器時(shí),以下關(guān)鍵概念將會(huì)很有用。
容器主機(jī):使用 Windows 容器功能配置的物理或虛擬計(jì)算機(jī)系統(tǒng)。 容器主機(jī)將運(yùn)行一個(gè)或多個(gè) Windows 容器。
容器映像:在對(duì)容器文件系統(tǒng)或注冊(cè)表進(jìn)行修改時(shí)(如軟件安裝),將在沙盒中捕獲它們。 在許多情況下,你可能希望捕獲此狀態(tài),以便可以創(chuàng)建繼承這些更改的新容器。 這就是映像的本質(zhì):一旦容器停止,你便可以放棄該沙盒,或者可以將其轉(zhuǎn)換為新的容器映像。 例如,讓我們想象你已從 Windows Server Core 操作系統(tǒng)映像部署一個(gè)容器。 然后你將 MySQL 安裝到此容器中。 從此容器創(chuàng)建新映像將充當(dāng)該容器的可部署版本。 此映像將只包含所做的更改 (MySQL),但是將充當(dāng)容器操作系統(tǒng)映像之上的一個(gè)層。
沙盒:容器啟動(dòng)后,將在此“沙盒”層中捕獲所有的寫入操作,如文件系統(tǒng)修改、注冊(cè)表修改或軟件安裝。
容器操作系統(tǒng)映像:從映像部署容器。 容器操作系統(tǒng)映像是可能組成容器的許多映像層中的第一層。 此映像提供操作系統(tǒng)環(huán)境。 容器操作系統(tǒng)映像不可變,并且無法修改。
容器存儲(chǔ)庫:每次創(chuàng)建容器映像時(shí),容器映像及其依賴關(guān)系都會(huì)存儲(chǔ)在本地存儲(chǔ)庫中。 這些映像可以在容器主機(jī)上重復(fù)使用多次。 容器映像還可以存儲(chǔ)在公共或私有注冊(cè)表(如 DockerHub)中,以便可以在許多不同的容器主機(jī)上使用它們。
面向開發(fā)人員的容器
從開發(fā)人員的桌面到測(cè)試計(jì)算機(jī)再到一組生產(chǎn)計(jì)算機(jī),可以創(chuàng)建以相同方式在幾秒內(nèi)在任何環(huán)境中部署的 Docker 映像。 由此創(chuàng)造出了封裝在 Docker 容器中的巨大且持續(xù)增長的應(yīng)用程序生態(tài)系統(tǒng),其中 DockerHub 是 Docker 所維護(hù)的公共容器化應(yīng)用程序注冊(cè)表,當(dāng)前已在公共社區(qū)存儲(chǔ)庫中發(fā)布超過 180,000 個(gè)應(yīng)用程序。
當(dāng)你容器化某個(gè)應(yīng)用時(shí),僅該應(yīng)用以及運(yùn)行該運(yùn)用所需的組件將組合到“映像”中。 然后根據(jù)你的需要從此映像創(chuàng)建容器。 你還可以使用映像作為創(chuàng)建其他映像的基線,從而使映像創(chuàng)建速度更快。 多個(gè)容器可以共享同一個(gè)映像,這意味著容器將非常快速地啟動(dòng),并使用更少的資源。 例如,你可以使用容器為已分配的應(yīng)用起轉(zhuǎn)輕型和可移植的應(yīng)用組件(或“微服務(wù)”),并快速單獨(dú)縮放每個(gè)服務(wù)。
由于容器具有運(yùn)行應(yīng)用程序所需的一切,因此它們非常易于移植,并且可在運(yùn)行 Windows Server 2016 的任何計(jì)算機(jī)上運(yùn)行。 你可以本地創(chuàng)建和測(cè)試容器,然后將該相同的容器映像部署到你的公司的私有云、公有云或服務(wù)提供商。 容器的自然靈活性支持大規(guī)模、虛擬化和云環(huán)境中的現(xiàn)代應(yīng)用開發(fā)模式。
借助容器,開發(fā)人員可以采用任何語言生成應(yīng)用。 這些應(yīng)用完全可移植,并且可在任何位置(筆記本電腦、臺(tái)式機(jī)、服務(wù)器、私有云、公有云或服務(wù)提供商)運(yùn)行,而無需任何代碼更改。
容器有助于開發(fā)人員更快地生成和交付更高質(zhì)量的應(yīng)用程序。
面向 IT 專業(yè)人員的容器
IT 專業(yè)人員可以使用容器來為其開發(fā)、QA 和生產(chǎn)團(tuán)隊(duì)提供標(biāo)準(zhǔn)化環(huán)境。 他們不再需要擔(dān)心復(fù)雜的安裝和配置步驟。 通過使用容器,系統(tǒng)管理員抽象出操作系統(tǒng)安裝和底層基礎(chǔ)結(jié)構(gòu)中的差異。
容器有助于管理員創(chuàng)建更易于更新和維護(hù)的基礎(chǔ)結(jié)構(gòu)。
原文地址:https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/about/
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的Windows 容器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker4Dev #6 使用 Win
- 下一篇: 软件定义数据中心—Windows Ser