.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.