Docker

創建一個 Windows 10 映像以用作 docker 容器

  • February 12, 2022

我正在嘗試創建一個 Windows 10 映像,以便對現有的舊應用程序進行 dockerize。出於很好的理由,基礎映像必須是 Windows 10而不是Windows Server。我該怎麼做呢?

我想到的是:

  1. 將我的 vanilla Windows 安裝創建為 Hyper-V 機器

2)將應用程序安裝到它上面

3)關閉這個虛擬機

  1. 將生成的 VHDX 轉換為 Windows 映像 (WIM) 文件

  2. 不知何故將此用作 docker 的基礎映像

我在正確的道路上嗎?

不,這行不通。

Windows 容器(這與 Linux 上的 Docker 容器相同)基本上包含 Windows 的“使用者空間”部分,但共享單個底層 Windows 伺服器核心。

我找到了一種方便的思考方式,即每個容器有點像 Windows 中的一個單獨的隔離使用者帳戶。您可以擁有多個使用者帳戶,每個帳戶都有自己的私有文件集,並且彼此隔離,但它們仍然直接綁定到底層作業系統,並且每個都執行在同一個共享核心上。

這很棒,因為使用單個共享核心我們不需要 CPU 或記憶體級別的硬體虛擬化,因此事情可以更加高效。

然而,按照該設計,Windows 10 UI 和所有這些東西都不能與 Windows Server 2016 核心一起使用。他們可能會同時發生,但不太可能。

此外,您不能只獲取 VHD/WIM 或其他類型的圖像並說“那是我的容器”。您必須從一個“基本映像”開始,它實際上是您的主作業系統的表示,然後根據需要應用更改。我無法想像試圖找出將基礎 Windows 伺服器轉換為 Windows 10 所需的一組更改。

引用自:https://serverfault.com/questions/798050