Aracılığıyla paylaş


.NET kapsayıcıları için hangi işletim sistemi hedeflenmeli

Tavsiye

Bu içerik, .NET Docs veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Kapsayıcılı .NET Uygulamaları için .NET Mikro Hizmet Mimarisi adlı e-Kitap'tan bir alıntıdır.

.NET Mikro Hizmetler Mimarisi Kapsayıcılı .NET Uygulamaları için eKitabın kapak küçük resmi .

Docker tarafından desteklenen işletim sistemlerinin çeşitliliği ve .NET Framework ile .NET 8 arasındaki farklar göz önüne alındığında, kullandığınız çerçeveye bağlı olarak belirli bir işletim sistemini ve belirli sürümleri hedeflemeniz gerekir.

Windows için, Windows Server Core veya Windows Nano Server kullanabilirsiniz. Bu Windows sürümleri, .NET Framework veya .NET 8 tarafından ihtiyaç duyulabilecek farklı özellikler sağlar; örneğin, Windows Server Core'da IIS kullanımı ya da Nano Server'da Kestrel gibi kendi içinde barındırılan bir web sunucusu.

Linux için, resmi .NET Docker görüntülerinde (Debian gibi) birden çok dağıtım kullanılabilir ve desteklenir.

Şekil 3-1'de, kullanılan .NET çerçevesine bağlı olarak olası işletim sistemi sürümünü görebilirsiniz.

Hangi işletim sisteminin hangi .NET kapsayıcılarıyla kullanılacağını gösteren diyagram.

Şekil 3-1. Belirli .NET framework sürümlerine bağlı olarak işletim sistemlerini hedefleme

Eski .NET Framework uygulamalarını dağıtırken, eski uygulamalar ve IIS ile uyumlu olan Windows Server Core'ı hedeflemeniz gerekir, ancak daha büyük bir görüntüsü vardır. .NET 8 uygulamalarını dağıtırken bulut için iyileştirilmiş, Kestrel kullanan ve daha küçük olan ve daha hızlı başlayan Windows Nano Server'ı hedefleyebilirsiniz. Ayrıca Linux'ı hedefleyerek Debian, Alpine ve diğerlerini de destekleyebilirsiniz.

Farklı bir Linux dağıtımı kullanmak veya Microsoft tarafından sağlanmayan sürümleri içeren bir görüntü kullanmak istediğiniz durumlarda da kendi Docker görüntünüzü oluşturabilirsiniz. Örneğin, docker için yaygın olmayan bir senaryo olan geleneksel .NET Framework ve Windows Server Core üzerinde çalışan ASP.NET Core ile bir görüntü oluşturabilirsiniz.

Görüntü adını Dockerfile dosyanıza eklediğinizde, aşağıdaki örneklerde olduğu gibi kullandığınız etikete bağlı olarak işletim sistemini ve sürümü seçebilirsiniz:

Resim Yorumlar
mcr.microsoft.com/dotnet/runtime:8.0 .NET 8 çoklu mimarisi: Docker konağına bağlı olarak Linux ve Windows Nano Server'ı destekler.
mcr.microsoft.com/dotnet/aspnet:8.0 ASP.NET Core 8.0 çoklu mimarisi: Docker konağına bağlı olarak Linux ve Windows Nano Server'ı destekler.
aspnetcore görüntüsünde ASP.NET Core için birkaç iyileştirme vardır.
mcr.microsoft.com/dotnet/aspnet:8.0-bullseye-slim Linux Debian dağıtımında .NET 8 çalışma zamanı yalnızca
mcr.microsoft.com/dotnet/aspnet:8.0-nanoserver-1809 Windows Nano Server'da .NET 8 çalışma zamanı-yalnızca (Windows Server sürüm 1809)