Docker
創建一個 Windows 10 映像以用作 docker 容器
我正在嘗試創建一個 Windows 10 映像,以便對現有的舊應用程序進行 dockerize。出於很好的理由,基礎映像必須是 Windows 10而不是Windows Server。我該怎麼做呢?
我想到的是:
- 將我的 vanilla Windows 安裝創建為 Hyper-V 機器
2)將應用程序安裝到它上面
3)關閉這個虛擬機
將生成的 VHDX 轉換為 Windows 映像 (WIM) 文件
不知何故將此用作 docker 的基礎映像
我在正確的道路上嗎?
不,這行不通。
Windows 容器(這與 Linux 上的 Docker 容器相同)基本上包含 Windows 的“使用者空間”部分,但共享單個底層 Windows 伺服器核心。
我找到了一種方便的思考方式,即每個容器有點像 Windows 中的一個單獨的隔離使用者帳戶。您可以擁有多個使用者帳戶,每個帳戶都有自己的私有文件集,並且彼此隔離,但它們仍然直接綁定到底層作業系統,並且每個都執行在同一個共享核心上。
這很棒,因為使用單個共享核心我們不需要 CPU 或記憶體級別的硬體虛擬化,因此事情可以更加高效。
然而,按照該設計,Windows 10 UI 和所有這些東西都不能與 Windows Server 2016 核心一起使用。他們可能會同時發生,但不太可能。
此外,您不能只獲取 VHD/WIM 或其他類型的圖像並說“那是我的容器”。您必須從一個“基本映像”開始,它實際上是您的主作業系統的表示,然後根據需要應用更改。我無法想像試圖找出將基礎 Windows 伺服器轉換為 Windows 10 所需的一組更改。