簡體   English   中英

Windows中的docker需要啟用Hyper-V嗎?

[英]docker in windows need Hyper-V enabled?

Docker是否要求在Windows中啟用Hyper-V 如果是,為什么?

Hyper-V在這種情況下的作用是什么?

我使用的是Windows 10主頁。 hyper-V安裝Docker的替代方案是什么?

如果您使用windows10 professional並且您的BIOS支持硬件虛擬化,建議您啟用Hyper-V。

當在windows10中運行linux容器時,實際上它仍然需要一個linux系統作為docker主機,因為linux容器不能與windows共享內核。

如果啟用hyper-v, MobyLinuxVm -windows將自動將hyper-v中的MobyLinuxVm設置為MobyLinuxVm主機的虛擬機。 與傳統解決方案相比,我的意思是在virtualbox中安裝linux。 Hyper-v具有更好的性能,因為它不依賴於windows os,它類似於基於硬件的設置,就像vmware-esx一樣。

最后,如果您使用的是家用版本的windows10,則必須安裝一個虛擬機作為docker的主機並使用docker toolbox,詳情請參閱https://docs.docker.com/toolbox/overview/以獲取舊桌面解決方案。

更新您可能想要了解的其他一些要點:

a)linux容器:

Docker容器必須與主機共享內核,Windows上沒有Linux內核,所以在所有情況下,你必須擁有一個帶有linux作為docker主機的虛擬機,如果沒有hyper-v支持,則需要hyper-v或virtualbox。

b)windows容器:

從理論上講,windows容器可以共享windows的內核,因此不需要虛擬機。

但是微軟支持容器與linux相比為時已晚,因此對於不同的主機,它使用不同的解決方案,請參閱下一章來自microsoft網站

Windows容器包括兩種不同的容器類型或運行時。

Windows Server Containers - 通過進程和名稱空間隔離技術提供應用程序隔離。 Windows Server Container與容器主機和主機上運行的所有容器共享內核。 這些容器不提供惡意安全邊界,不應用於隔離不受信任的代碼。 由於共享內核空間,這些容器需要相同的內核版本和配置。

Hyper-V隔離 - 通過在高度優化的虛擬機中運行每個容器,擴展Windows Server Containers提供的隔離。 在此配置中,容器主機的內核不與同一主機上的其他容器共享。 這些容器專為惡意多租戶托管而設計,具有與虛擬機相同的安全保證。 由於這些容器不與主機上的主機或其他容器共享內核,因此它們可以運行具有不同版本和配置的內核(在支持的版本中) - 例如,Windows 10上的所有Windows容器都使用Hyper-V隔離來利用Windows Server內核版本和配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM