.NET ve Docker’a Giriş

.NET Core bir Docker kapsayıcısı içinde kolayca çalışmasına neden olabilir. Kapsayıcılar, ana bilgisayar sisteminin geri kalanından uygulamalarınızı yalıtmak, yalnızca çekirdeği paylaşmak ve uygulamanıza verilen kaynakları kullanmak için basit bir yol sağlar. Docker hakkında bilginiz yoksa Docker'ın genel bakış belgelerini okuması kesinlikle önerilir.

Docker'ı yükleme hakkında daha fazla bilgi için Docker Desktop: Community Edition indirme sayfasına bakın.

Docker temel bilgileri

Tanıması gereken birkaç kavram vardır. Docker istemcisi, görüntüleri ve kapsayıcıları yönetmek için kullanabileceğiniz bir CLI'ye sahip. Daha önce belirtildiği gibi Docker'a genel bakış belgelerini okumak için zaman gerekir.

Görüntüler

Görüntü, kapsayıcının temelini oluşturmak için dosya sistemi değişikliklerinin sıralı bir koleksiyonudur. Görüntünün durumu yok ve salt okunur. Bir görüntünün başka bir görüntüye dayandırma zamanı çok fazladır, ancak bazı özelleştirmelerle. Örneğin, uygulamanız için yeni bir görüntü sanız, bunu zaten .NET Core çalışma zamanı içeren mevcut bir görüntü temel ayazabilirsiniz.

Görüntülerden kapsayıcılar oluşturulduğundan, görüntüler kapsayıcı başlatıldığında çalıştırılan bir çalıştırma parametreleri kümesine (örneğin, başlangıç yürütülebilir dosyası) sahip olur.

Kapsayıcılar

Kapsayıcı, görüntünün değiştirilebilir bir örneğidir. Görüntü oluşturma adımlarını tamamlarken uygulamanızı ve bağımlılıklarınızı dağıtabilirsiniz. Daha sonra, her biri ayrı ayrı olmak için birden çok kapsayıcı örneği oluşturabilirsiniz. Her kapsayıcı örneğinin kendi dosya sistemi, belleği ve ağ arabirimi vardır.

Kayıt Defterleri

Kapsayıcı kayıt defterleri, görüntü depolarının bir koleksiyonudur. Görüntülerinizi bir kayıt defteri görüntüsüne göre temel aabilirsiniz. Kapsayıcıları doğrudan kayıt defterindeki bir görüntüden oluşturabilirsiniz. Docker kapsayıcıları, görüntüleri ve kayıt defterleri arasındaki ilişki, kapsayıcılı uygulamaların veya mikro hizmetlerin mimarisini ve mimarisini sağlarken önemli bir kavramdır. Bu yaklaşım, geliştirme ve dağıtım arasındaki süreyi büyük ölçüde kısaltıyor.

Docker' ın, kullanabileceğiniz Docker Hub bir ortak kayıt defteri var. .NET Core ile ilgili görüntüler, Docker Hub.

Bu Microsoft Container Registry (MCR), Microsoft tarafından sağlanan kapsayıcı görüntülerinin resmi kaynağıdır. Bu MCR, genel Azure CDN çoğaltılmış görüntüler sağlamak için yerleşiktir. Ancak, MCR yönelik bir web sitesi yok ve Microsoft tarafından sağlanan kapsayıcı görüntüleri hakkında bilgi edinmek için birincil yol Microsoft Docker Hub sayfalarıdır.

Dockerfile

Dockerfile, görüntü oluşturan yönergeleri tanımlayan bir dosyadır. Dockerfile dosyasındaki her yönerge görüntüde bir katman oluşturur. Çoğu bölümde, görüntüyü yeniden 7.000.000'e kadar olan katmanlar yeniden oluşturulur. Dockerfile başkalarına dağıtılmalarına ve sizin oluşturduğunuz şekilde yeni bir görüntü oluşturmalarına olanak sağlar. Bu, görüntüyü oluşturma yönergelerini dağıtmanıza olanak sağlar, ancak görüntülerinizi dağıtmanın ana yolu bunu bir kayıt defterinde yayımlamaktır.

.NET Core görüntüleri

Resmi .NET Core Docker görüntüleri Microsoft Container Registry 'de (MCR) yayımlanır ve Microsoft .NET Core Docker Hub deposunda keşfedilebilir. Her depo, kullanabileceğiniz farklı .NET (SDK veya Çalışma Zamanı) ve işletim sistemi birleşimleri için görüntüler içerir.

Microsoft, belirli senaryolar için uyarlanmış görüntüler sağlar. Örneğin, ASP.NET Core deposu, üretimde uygulama çalıştırmaya ASP.NET Core görüntüleri sağlar.

Azure hizmetleri

Çeşitli Azure hizmetleri kapsayıcıları destekler. Uygulamanıza bir Docker görüntüsü oluşturun ve aşağıdaki hizmetlerden birini dağıtın:

  • Azure Kubernetes Service (AKS)
    Kubernetes kullanarak Linux kapsayıcılarını ölçeklendirme ve düzenleme.

  • Azure App Service
    PaaS ortamında Linux kapsayıcılarını kullanarak web uygulamaları veya API'ler dağıtın.

  • Azure Container Instances
    Kapsayıcınızı herhangi bir üst düzey yönetim hizmeti olmadan bulutta barındırın.

  • Azure Batch
    Kapsayıcıları kullanarak yinelenen işlem işleri çalıştırma.

  • Azure Service Fabric
    Windows Server kapsayıcılarını kullanarak .NET uygulamalarını lift,shift ile kaldırın ve mikro Windows modernleştirin.

  • Azure Container Registry
    Kapsayıcı görüntülerini tüm Azure dağıtım türlerinde depolar ve yönetir.

Sonraki adımlar