Windows 容器需求

本文列出適用於 Windows 容器主機的需求。

作業系統需求

  • Windows 容器功能是僅適用於 Windows Server 2016 (Core 和含桌面體驗),Windows 10 專業版和企業版 (Anniversary Edition) 及更新版本。 <<<<<<< HEAD
  • 必須安裝 HYPER-V 角色,才能執行 HYPER-V 隔離

Windows Server 容器主機必須將 Windows 安裝至 c:\。 如果只會部署 HYPER-V 隔離容器,這項限制不適用。

  • 必須安裝 HYPER-V 角色,才能執行中使用 HYPER-V 隔離的容器。
  • Windows Server 容器主機必須將 Windows 安裝至 c:\。 如果只會部署 Hyper-V 容器,則沒有這項限制。

原點/主機

虛擬化的容器主機

<<<<<<< HEAD 如果 Windows 容器主機將會執行從 HYPER-V 虛擬機器,而且也會主控 HYPER-V 隔離,巢狀虛擬化必須先啟用。 巢狀虛擬化具有下列需求: === 如果 Windows 容器主機將會從 HYPER-V 虛擬機器,執行,而且也會主控 HYPER-V 隔離的容器,必須先啟用巢狀虛擬化。 巢狀的虛擬化的需求如下:

原點/主機

  • 至少有 4 GB RAM 可供虛擬化的 HYPER-V 主機使用。
  • Windows Server 2019,Windows Server 版本 1803 起,Windows Server 版本 1709 開始,Windows Server 2016 或 Windows 10,在主機系統和 Windows Server (完整版、 核心版) 的虛擬機器中。
  • Intel VT-x 的處理器 (這項功能目前只適用於 Intel 處理器)。 <<<<<<< HEAD
  • 容器主機 VM 也需要至少兩個虛擬處理器。

支援的基本映像

Windows 容器隨附四個容器基本映像: Windows Server Core、 Nano Server、 Windows 與 IoT 核心版。 並非所有的設定都支援這兩種作業系統映像。 此表詳加說明所支援的設定。

  • 容器主機 VM 也將會需要至少 2 部虛擬處理器。

支援的基本映像

Windows 容器隨附四個容器基本映像: Windows Server Core、 Nano Server、 Windows 與 IoT 核心版。 並非所有的設定都支援這兩種作業系統映像。 此表詳加說明所支援的設定。

主機作業系統
Windows Server 容器
Hyper-V 隔離
Windows Server 2016 / 2019 (Standard 或 Datacenter)
Server Core,Nano Server Windows
Server Core,Nano Server Windows
Nano Server*
Nano Server
Server Core,Nano Server Windows
Windows 10 專業版 / 企業版
Windows**
Server Core,Nano Server Windows
IoT 核心版
IoT 核心版
無法使用

警告

* 開始使用 Windows Server 版本 1709 Nano Server 是無法再當做容器主機。

* * 需要 Windows 10 年 10 月 2018 年更新和您直接要求的處理序隔離藉由使用--isolation=process旗標時執行您的容器,透過docker run

原點/主機

主機作業系統 Windows 容器 Hyper-V 隔離
Windows Server 2016 或 Windows Server 2019 (Standard 或 Datacenter) Server Core,Nano Server Windows Server Core,Nano Server Windows
Nano Server Nano Server Server Core,Nano Server Windows
Windows 10 專業版或 Windows 10 企業版 無法使用 Server Core,Nano Server Windows
IoT 核心版 IoT 核心版 無法使用

警告

從 Windows Server 版本 1709年開始,Nano Server 是無法再當做容器主機。

記憶體需求

可供容器使用的記憶體限制可透過資源控制項或多載容器主機來進行設定。 以下列出的最小啟動容器及執行基本命令 (ipconfig、 dir 等等) 所需的記憶體數量。

注意

這些值不考量容器或需求容器中執行之應用程式之間共用的資源。 例如,有 512MB 可用記憶體的主機可以在 Hyper-V 隔離下執行多個 Server Core 容器,因為這些容器會共用資源。

Windows Server 2016

基本映像 Windows Server 容器 Hyper-V 隔離
Nano 伺服器 40 MB 130 MB + 1 GB 分頁檔
Server Core 50 MB 325 MB + 1 GB 分頁檔

Windows Server 版本 1709

基本映像 Windows Server 容器 Hyper-V 隔離
Nano 伺服器 30 MB 110 MB + 1 GB 分頁檔
Server Core 45 MB 360 MB + 1 GB 分頁檔

基本映像的差異

其中一個會選擇右基本映像建置時? 雖然您可以使用建置任何您想要的結果,這些是為每個影像的一般指導方針:

  • Windows Server Core: 如果您的應用程式需要完整.NET framework,這會是最佳的映像,才能使用。
  • Nano Server: 對於只需要.NET Core 應用程式,Nano Server 會提供更獎勵的影像。
  • Windows: 您可能會發現您的應用程式取決於元件或 Server Core 中遺失的.dll 或 Nano Server 映像,例如 GDI 程式庫。 此映像需負擔 Windows 完整的相依性組。
  • IoT 核心版: 這個影像是IoT 應用程式的特殊用途。 為目標的 IoT 核心版主機時,您應該使用此容器映像。

對於大部分的使用者,Windows Server Core 或 Nano Server 會使用的最適當影像。 以下是幾件事,當您考慮需要在 Nano Server 之上建置牢記:

  • 已移除服務堆疊
  • 不包含 .NET Core (不過您可以使用 .NET Core Nano Server 映像)
  • 已移除 PowerShell
  • 已移除 WMI
  • 從 Windows Server 版本 1709 開始,應用程式會在使用者內容下執行,所以需要系統管理員權限的命令將會失敗。 您可以指定容器系統管理員帳戶 (例如 docker run--user ContainerAdministrator)--user 旗標透過不過在我們預計在未來完全移除 NanoServer 的系統管理員帳戶。

這些是最大的差異,但並非完整的清單。 還有其他未包含的元件並未註明。 請記住,您隨時都可以視需要在 Nano Server 之上新增層級。 如需範例,請參閱 .NET Core Nano Server Dockerfile