Windows 伺服器核心
支援傳統 .NET Framework 應用程式。
適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016
Windows 提供四個可供使用者據以建置的容器基底映像。 每個基底映像都是不同類型的 Windows 或 Windows Server 作業系統、具有不同的磁碟使用量,以及一組不同的 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 Server 應用程式的絕佳選項。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) 的大小 Windows
略小(3.4 GB)。 Windows Server 映射也會從 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。