共用方式為


.NET 容器映像

.NET 針對不同的案例提供各種容器映像。 本文說明不同類型的影像及其使用方式。 如需官方映像的詳細資訊,請參閱 Docker Hub:Microsoft .NET 存放庫。

標記方案

從 .NET 8 開始,容器映射在區分方式方面更為務實。 下列特性可用來區分影像:

  • 應用程式的目標架構標識符(TFM)。
  • OS、版本和架構。
  • 影像類型 (例如,runtimeaspnetsdk)。
  • 影像變體(例如,*-distroless*-chiseled)。
  • 影像功能(例如,*-aot*-extra)。

經過尺寸優化的影像

下列圖像的目標是達到最小的圖像大小。

  • 高山
  • 水手無發行版
  • Ubuntu 精緻版

這些映像較小,因為它們不包含全球化相依性,例如ICU或tzdata。 這些映像僅適用於設置了全球化不變模式的應用程式。 若要設定不因應全球化的應用程式,請將下列屬性新增至項目檔:

<PropertyGroup>
  <InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>

提示

SDK 影像不會針對 *-distroless*-chiseled 影像類型生成。 複合影像是 aspnet 提供的 Core CLR中最小的方案。

適用於全球化的影像

需要全球化的容器化應用程式會擴大映像大小,因為它們需要全球化相依性。 Ubuntu 和 Debian 映像檔已安裝 ICU 和 tzdata。

tzdata 相依性已新增至下列映射:

  • runtime-deps:8.0-jammy
  • runtime-deps:8.0-bookworm-slim

這個全球化策略是由具有相同標記的 runtimeaspnetsdk 影像所使用。

重要

將 tzdata 新增至 Debian bookworm 映像檔沒有實際效果,除非有 tzdata 的更新(尚未包含在 Debian 中),屆時 .NET 映像檔會包含較新的 tzdata。

某些套件仍然是選擇性的,例如 Kerberos、LDAP 和 msquic。 這些套件只有在利基案例中才需要。

情境圖像

運行時相依項 映像具有顯著價值,特別是因為它們包含標準使用者和端口定義。 它們方便用於獨立和原生 AOT 情境。 不過,僅提供 執行階段SDK 所需的 runtime-deps 映像,仍然不足以啟用所有可想像的情境或生成最佳映像。

runtime-deps 的需求也會延伸到原生 AOT、*-distroless*-chiseled 影像類型。 針對每個OS,會提供三個映像變體(全部在 runtime-deps中)。 請考慮使用 *-chiseled 映射的下列範例:

  • 8.0-jammy-chiseled:Core CLR 的映像檔,沒有 tzdata 或 ICU。
  • 8.0-jammy-chiseled-aot:原生 AOT,沒有 tzdata、ICU 或 stdc++ 的影像。
  • 8.0-jammy-chiseled-extra:用于 Core CLR 和原生 AOT 的映像,包含 tzdata、ICU 和 stdc++。

在情境方面:

8.0-jammy-chiseled 映像是相同標籤 runtimeaspnet 映像的基礎。 根據預設,原生 AOT 應用程式可以使用 8.0-jammy-chiseled-aot 映像,因為它已針對大小進行優化。 需要全球化功能的原生 AOT 應用程式和 Core CLR 獨立/ 單一檔案應用程式可以使用 8.0-jammy-chiseled-extra

Alpine 和 Mariner 影像使用相同的配置。

注意

Debian 和 Ubuntu(非切割)runtime-deps 映像沒有不同的版本。

原生 AOT 容器映像

原生 AOT 映像會發布到 sdk 存放庫,並標記為 -aot 後綴。 這些映像可讓您建置原生 AOT 應用程式。 這些是為具有相符 runtime-deps:*-aot 映像的發行版所建立配件。 這些映像很大,通常是一般 SDK 映射大小的兩倍。

AOT 影像已針對下列項目發行:

  • 高山
  • 水手
  • Ubuntu

如需詳細資訊,請參閱 Native AOT 部署

Docker 中樞存放庫

.NET 的所有官方 Microsoft 映像檔都會發佈到 microsoft-dotnet Docker Hub 組織。 請考慮下列存放庫。

.NET 穩定映射存放庫:

映像存放庫 圖片
sdk mcr.microsoft.com/dotnet/sdk
aspnet mcr.microsoft.com/dotnet/aspnet
執行時間 mcr.microsoft.com/dotnet/runtime
運行時依賴項 mcr.microsoft.com/dotnet/runtime-deps
顯示器 mcr.microsoft.com/dotnet/monitor
aspire-dashboard mcr.microsoft.com/dotnet/aspire-dashboard
範例 mcr.microsoft.com/dotnet/samples

.NET 夜間映像儲存庫:

映像存放庫 圖像
夜間版本 aspnet mcr.microsoft.com/dotnet/nightly/aspnet
夜間監視器 mcr.microsoft.com/dotnet/nightly/monitor
夜間版本運行時依賴 mcr.microsoft.com/dotnet/nightly/runtime-deps
夜間運行時間 mcr.microsoft.com/dotnet/nightly/runtime
夜間 sdk mcr.microsoft.com/dotnet/nightly/sdk
夜間儀錶板 mcr.microsoft.com/dotnet/nightly/aspire-dashboard

.NET Framework 映像存放庫:

映像存放庫 圖像
架構 mcr.microsoft.com/dotnet/framework
framework-aspnet mcr.microsoft.com/dotnet/framework/aspnet
framework-runtime mcr.microsoft.com/dotnet/framework/runtime
framework-samples 範例 mcr.microsoft.com/dotnet/framework/samples
framework-sdk mcr.microsoft.com/dotnet/framework/sdk
framework-wcf mcr.microsoft.com/dotnet/framework/wcf

另請參閱