docker在windows上為啥需要虛擬化。

2021-09-02 15:37:51 字數 854 閱讀 7743

docker在linux上執行不需要虛擬化,但是,如果在windows上安裝執行就需要虛擬化,找到答案了。

docker 底層的核心技術包括 linux 上的名字空間( namespaces) 、 控制組( control groups) 、 union 文

件系統( union file systems) 和容器格式( container format) 。

我們知道, 傳統的虛擬機器通過在宿主主機中執行 hypervisor 來模擬一整套完整的硬體環境提供給虛擬機器的

作業系統。 虛擬機器系統看到的環境是可限制的, 也是彼此隔離的。 這種直接的做法實現了對資源最完整的

封裝, 但很多時候往往意味著系統資源的浪費。 例如, 以宿主機和虛擬機器系統都為 linux 系統為例, 虛擬

機中執行的應用其實可以利用宿主機系統中的執行環境。

我們知道, 在作業系統中, 包括核心、 檔案系統、 網路、 pid、 uid、 ipc、 記憶體、 硬碟、 cpu 等等, 所有

的資源都是應用程序直接共享的。 要想實現虛擬化, 除了要實現對記憶體、 cpu、 網路io、 硬碟io、 儲存空

間等的限制外, 還要實現檔案系統、 網路、 pid、 uid、 ipc等等的相互隔離。 前者相對容易實現一些, 後

者則需要宿主機系統的深入支援。

隨著 linux 系統對於名字空間功能的完善實現, 程式設計師已經可以實現上面的所有需求, 讓某些程序在彼此

隔離的名字空間中執行。 大家雖然都共用乙個核心和某些執行時環境( 例如一些系統命令和系統庫) , 但

是彼此卻看不到, 都以為系統中只有自己的存在。 這種機制就是容器( container) , 利用名字空間來做權

限的隔離控制, 利用 cgroups 來做資源分配。

在Windows上安裝Docker

安裝docker,先說在windows 上安裝docker,因為docker 只能安裝在 linux 系統上,並且只能執行 linux 的容器,所以如果咱們想要在 windows 上執行docker,需要安裝乙個小東西 boot2docker for windows.boot2docker 簡介 b...

在Windows上安裝Docker

wyn enterprise支援docker安裝模式,這種模式可有效避免因環境原因導致的安裝失敗。docker在windows和linux中都是以服務 service 的形式工作。本帖介紹在windows server 2019環境中安裝docker服務引擎的方法。一 準備工作 docker for...

在 Windows 上可以用 Docker 嗎?

docker,或者準確一點說,容器技術,在近幾年裡幾乎成為了應用分發和集群部署的預設技術了。背景部分,如果感興趣,請參考閒談集群管理模式一文。docker 生態的成熟還有賴於其周邊工具和實踐模式的興起。比如,曾經雨後春筍般出現的編排技術,以及基於容器技術的 devops 實踐大規模地開展。那麼這麼好...