Windows 伺服器核心
支援傳統 .NET Framework 應用程式。
適用于:Windows Server 2022、Windows Server 2019、Windows Server 2016
Windows 提供四個可供使用者據以建置的容器基底映像。 每個基底映射都是不同類型的Windows或Windows伺服器作業系統、有不同的磁片使用量,而且有一組不同的Windows API 集。
支援傳統 .NET Framework 應用程式。
針對 .NET Core 應用程式而建置。
提供完整的 Windows API 集。
提供完整的 Windows API 集。
所有 Windows 容器基底映像都可透過 Docker Hub 探索。 Windows 容器基底映像本身是由 Microsoft Container Registry (MCR) (mcr.microsoft.com) 提供。 這就是 Windows 容器基底映像的提取命令為何看起來如下所示:
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
MCR沒有自己的目錄體驗,而且是為了支援現有的目錄,例如Docker Hub。 由於 Azure 的全域磁碟使用量並與 Azure CDN 結合,MCR 才能提供一致且快速的映像提取體驗。 在 Azure 中執行其工作負載的 Azure 客戶,可受惠於網路效能增強功能以及與 MCR (Microsoft 容器映像的來源) 緊密整合、Azure Marketplace,還有 Azure 中可提供容器作為部署套件格式的擴充服務數目。
如何選擇所要依據的正確基底映像? 對於大部分的使用者而言,Windows Server Core
和 Nanoserver
會是所要使用的最適當映像。 以下簡短描述每個基底映射:
Nano Server
是新應用程式開發的 Ultralight Windows供應專案。Server Core
大小為中度,且適合用於「移動」Windows伺服器應用程式。Windows
是最大的映射,且具有工作負載的完整Windows API 支援。Windows Server
稍微小於Windows映射、具有完整的Windows API 支援,並可讓您使用更多伺服器功能。雖然您可以自由地以您想要使用哪一個影像為目標,但以下是一些可協助引導您選擇的指導方針:
Windows Server Core
為目標。Nanoserver
為目標。Windows
為目標。 此映像遠大於其他基底映像,但是其含有許多核心 Windows 程式庫 (例如 GDI 程式庫)。Windows Server
映射來包含Windows容器工作負載的硬體加速。提示
許多 Windows 使用者都想要容器化相依於 .NET 的應用程式。 除了此處所述的四個基底映像之外,Microsoft 還發佈了數個已預先設定熱門 Microsoft 架構的 Windows 容器映像,例如 .NET Framework 映像和 ASP .NET 映像。
映射 Windows Server
(3.1 GB) 從映射 (3.4 GB) 略小 Windows
。 Windows伺服器映射也會繼承 Server Core 映射的所有效能和可靠性改善、具有 GPU 支援,而且 IIS 連線沒有限制。 若要使用最新的 Windows Server 映射,您需要安裝 Windows Server 2022。 Windows映射不適用於 Windows Server 2022。
Microsoft 會提供每個容器基底映像的「測試人員」版本。 這些測試人員容器映像會包含我們的容器映像中最新且最棒的功能開發。 當您執行的主機是 Windows 測試人員版本 (Windows Insider 或 Windows Server Insider) 時,最好使用這些映像。 Docker Hub提供下列測試人員映射:
如需深入了解,請參閱透過 Windows 測試人員計畫使用容器。
Windows Server Core
和 Nanoserver
是可作為目標的最常見基底映像。 這些映像的主要差異在於 Nanoserver 有一個明顯較小的 API 表面。 Nanoserver 映像中不存在 PowerShell、WMI 和 Windows 服務堆疊。
建置 Nanoserver 是為了提供足夠的 API 表面,以執行相依於 .NET Core 或其他新式開放原始碼架構的應用程式。 折衷使用較小的 API 表面,Nanoserver 映像的磁碟使用量明顯小於其餘的 Windows 基底映像。 請記住,您隨時都可以視需要在 Nano Server 之上新增層級。 如需範例,請參閱 .NET Core Nano Server Dockerfile。