Bagikan melalui


OS apa yang akan ditargetkan dengan kontainer .NET

Petunjuk / Saran

Konten ini adalah kutipan dari eBook, Arsitektur Layanan Mikro .NET untuk Aplikasi .NET Kontainer, tersedia di .NET Docs atau sebagai PDF gratis yang dapat diunduh yang dapat dibaca secara offline.

Arsitektur Layanan Mikro .NET untuk Aplikasi .NET Dalam Kontainer: gambar kecil sampul eBook.

Mengingat keragaman sistem operasi yang didukung oleh Docker dan perbedaan antara .NET Framework dan .NET 8, Anda harus menargetkan OS tertentu dan versi tertentu tergantung pada kerangka kerja yang Anda gunakan.

Untuk Windows, Anda dapat menggunakan Windows Server Core atau Windows Nano Server. Versi Windows ini memberikan karakteristik yang berbeda (IIS di Windows Server Core versus server web yang dihost sendiri seperti Kestrel di Nano Server) yang mungkin diperlukan oleh .NET Framework atau .NET 8, masing-masing.

Untuk Linux, beberapa distro tersedia dan didukung dalam gambar .NET Docker resmi (seperti Debian).

Pada Gambar 3-1, Anda dapat melihat kemungkinan versi OS tergantung pada kerangka kerja .NET yang digunakan.

Diagram memperlihatkan OS apa yang akan digunakan dengan kontainer .NET mana.

Gambar 3-1. Sistem operasi untuk ditargetkan tergantung pada versi kerangka kerja .NET

Saat mengerahkan aplikasi .NET Framework lama, Anda harus menargetkan Windows Server Core yang kompatibel dengan aplikasi lawas dan IIS, tetapi memiliki citra yang lebih besar. Saat menyebarkan aplikasi .NET 8, Anda dapat menargetkan Windows Nano Server, yang dioptimalkan untuk cloud, menggunakan Kestrel, serta lebih kecil dan memulai lebih cepat. Anda juga dapat menargetkan Linux, mendukung Debian, Alpine, dan lainnya.

Anda juga dapat membuat gambar Docker Anda sendiri dalam kasus di mana Anda ingin menggunakan distro Linux yang berbeda atau di mana Anda ingin gambar dengan versi yang tidak disediakan oleh Microsoft. Misalnya, Anda dapat membuat gambar dengan ASP.NET Core yang berjalan pada .NET Framework tradisional dan Windows Server Core, yang merupakan skenario yang tidak terlalu umum untuk Docker.

Saat menambahkan nama gambar ke file Dockerfile, Anda dapat memilih sistem operasi dan versi tergantung pada tag yang Anda gunakan, seperti dalam contoh berikut:

Gambar Komentar
mcr.microsoft.com/dotnet/runtime:8.0 .NET 8 multi-arsitektur: Mendukung Linux dan Windows Nano Server, bergantung pada host Docker.
mcr.microsoft.com/dotnet/aspnet:8.0 ASP.NET Core 8.0 dengan arsitektur multi: Mendukung Linux dan Windows Nano Server tergantung pada host Docker.
Gambar aspnetcore memiliki beberapa pengoptimalan untuk ASP.NET Core.
mcr.microsoft.com/dotnet/aspnet:8.0-bullseye-slim .NET 8 hanya runtime versi di distro Linux Debian
mcr.microsoft.com/dotnet/aspnet:8.0-nanoserver-1809 .NET 8 hanya runtime di Windows Nano Server (Windows Server versi 1809)