Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İpucu
Bu içerik, .NET Docs'ta veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Kapsayıcılı .NET Uygulamaları için .NET Mikro Hizmet Mimarisi e-Kitabı'ndan bir alıntıdır.
Resmi .NET Docker görüntüleri, Microsoft tarafından oluşturulan ve en iyi duruma getirilmiş Docker görüntüleridir. Bunlar Microsoft Yapıt Kayıt Defteri'da herkese açık olarak kullanılabilir. Katalog üzerinde arama yaparak .NET SDK deposu gibi tüm .NET görüntü depolarını bulabilirsiniz.
Her depo, .NET sürümlerine ve işletim sistemine ve sürümlerine (Linux Debian, Linux Alpine, Windows Nano Server, Windows Server Core vb.) bağlı olarak birden çok görüntü içerebilir. Görüntü depoları, yalnızca belirli bir çerçeve sürümünü değil, aynı zamanda bir işletim sistemi (Linux dağıtımı veya Windows sürümü) seçmenize de yardımcı olmak için kapsamlı etiketleme sağlar.
Geliştirme ve üretim için .NET ve Docker görüntü iyileştirmeleri
Microsoft, geliştiriciler için Docker görüntüleri oluştururken aşağıdaki ana senaryolara odaklanmıştır:
.NET uygulamaları geliştirmek ve oluşturmak için kullanılan görüntüler.
.NET uygulamalarını çalıştırmak için kullanılan görüntüler.
Neden birden çok resim? Kapsayıcılı uygulamaları geliştirirken, oluştururken ve çalıştırırken genellikle farklı öncelikleriniz olur. Microsoft, bu ayrı görevler için farklı görüntüler sağlayarak uygulama geliştirme, oluşturma ve dağıtma işlemlerini iyileştirmeye yardımcı olur.
Geliştirme ve derleme sırasında
Geliştirme sırasında önemli olan, değişiklikleri ne kadar hızlı yineleyebileceğiniz ve değişikliklerin hatalarını ayıklayabileceğinizdir. Görüntünün boyutu, kodunuzda değişiklik yapma ve değişiklikleri hızla görme özelliği kadar önemli değildir. Bazı araçlar ve "derleme aracısı kapsayıcıları", geliştirme ve derleme işlemi sırasında geliştirme .NET görüntüsünü (mcr.microsoft.com/dotnet/sdk:8.0) kullanır. Docker kapsayıcısı içinde derleme yaparken önemli olan, uygulamanızı derlemek için gereken öğelerdir. Bu, derleyiciyi ve diğer .NET bağımlılıklarını içerir.
Bir diğer harika seçenek de geliştirme kapsayıcılarıdır. Bu kapsayıcılar kullanıma hazır önceden oluşturulmuş geliştirme ortamlarıdır; bağımlılıklar ve yapılandırmalar konusunda endişelenmeniz gerekmez. Ayrıca, ek araçları veya bağımlılıkları içerecek şekilde özelleştirmek de kolaydır. Geliştirme kapsayıcıları, ekibinizle kolayca paylaşılabilen tutarlı ve yeniden üretilebilir bir kurulum sağlar. Geliştirme kapsayıcıları Geliştirme Kapsayıcısı Belirtimine uygundur ve Visual Studio Code ve GitHub Codespaces dahil olmak üzere birçok popüler geliştirici aracı bunları destekler. .NET geliştirme kapsayıcıları .NET SDK görüntüsünü temel alır ve .NET SDK'sını, çalışma zamanını ve .NET uygulamaları geliştirmek için ihtiyacınız olan diğer araçları içerir.
Bu tür bir derleme görüntüsü neden önemlidir? Bu görüntüyü üretim ortamına dağıtmazsınız. Bunun yerine, üretim görüntüsüne yerleştirdiğiniz içeriği oluşturmak için kullandığınız bir resimdir. Bu görüntü, Docker çok aşamalı derlemeleri kullanılırken sürekli tümleştirme (CI) ortamınızda veya derleme ortamınızda kullanılır.
Üretim içinde
Üretimde önemli olan, bir üretim .NET görüntüsüne göre kapsayıcılarınızı ne kadar hızlı dağıtabileceğiniz ve başlatabileceğinizdir. Bu nedenle, mcr.microsoft.com/dotnet/aspnet:8.0 temel alan yalnızca çalışma zamanı görüntüsü küçüktür, böylece Docker kayıt defterinizden Docker konaklarınıza hızla ağ üzerinden gidebilir. İçerikler çalışmaya hazırdır ve kapsayıcıyı başlatmaktan sonuçları işlemeye kadar en hızlı süreyi etkinleştirir. Docker modelinde, derleme kapsayıcısını kullanırken dotnet build veya dotnet publish komutunu çalıştırdığınızda olduğu gibi C# kodundan derlemeye gerek yoktur.
Bu iyileştirilmiş görüntüde, yalnızca uygulamayı çalıştırmak için gereken ikili dosyaları ve diğer içeriği koyarsınız. Örneğin, tarafından dotnet publish
oluşturulan içerik yalnızca derlenmiş .NET ikili dosyalarını, görüntüleri, .js ve .css dosyalarını içerir. Zaman içinde önceden jitlenmiş (IL'den yerele derleme ve çalışma zamanında gerçekleşen derleme) paketleri içeren görüntüleri görürsünüz.
.NET ve ASP.NET Core görüntülerinin birden çok sürümü olsa da, temel katman dahil olmak üzere hepsi bir veya daha fazla katmanı paylaşır. Bu nedenle, bir görüntüyü depolamak için gereken disk alanı miktarı küçüktür; yalnızca özel görüntünüzle temel görüntüsü arasındaki deltadan oluşur. Sonuç olarak, görüntüyü kayıt defterinizden hızlı bir şekilde çekebilirsiniz.
.NET görüntü depolarını Microsoft Yapıt Kayıt Defteri keşfederken, etiketlerle sınıflandırılmış veya işaretlenmiş birden çok görüntü sürümü bulursunuz. Bu etiketler, aşağıdaki tabloda yer alan gibi ihtiyacınız olan sürüme bağlı olarak hangisini kullanacağınıza karar vermenize yardımcı olur:
Görsel | Açıklamalar |
---|---|
mcr.microsoft.com/dotnet/aspnet:8.0 | Linux ve Windows üzerinde yalnızca çalışma zamanı ve ASP.NET Core iyileştirmeleri ile ASP.NET Core (çok kemerli) |
mcr.microsoft.com/dotnet/sdk:8.0 | Linux ve Windows üzerinde SDK'lar dahil .NET 8 (çok kemerli) |
Tüm kullanılabilir docker görüntülerini dotnet-docker'da bulabilir ve ayrıca gecelik derlemeyi kullanarak en son önizleme sürümlerine başvurabilirsinizmcr.microsoft.com/dotnet/nightly/*