Aracılığıyla paylaş


Windows ve kapsayıcılar

Şunlar için geçerlidir: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Kapsayıcılar, şirket içinde ve bulutta farklı ortamlarda Windows ve Linux uygulamalarını paketlemeye ve çalıştırmaya yönelik bir teknolojidir. Kapsayıcılar, uygulamaların geliştirilmesini, dağıtılması ve yönetilmesini kolaylaştıran basit ve yalıtılmış bir ortam sağlar. Kapsayıcılar hızla başlatılıp durdurulur ve bu özellikleriyle değişen talebe hızla uyum sağlaması gereken uygulamalar için idealdir. Kapsayıcıların hafif doğası, altyapınızın yoğunluğu ve kullanımını artırmak için kullanışlı bir araç olmasını da sağlar.

Neredeyse tüm dillerde yazılmış monolitik uygulamaları veya mikro hizmetleri destekleyen kapsayıcıların bulutta veya şirket içinde nasıl çalışabileceğini gösteren grafik.

Microsoft kapsayıcı ekosistemi

Microsoft, kapsayıcılarda uygulama geliştirmenize ve dağıtmanıza yardımcı olacak çeşitli araçlar ve platformlar sağlar:

  • Docker Desktop kullanarak geliştirme ve test için Windows 10 Üzerinde Windows tabanlı veya Linux tabanlı kapsayıcılar çalıştırın. Bu, Windows'da yerleşik olarak bulunan kapsayıcı işlevselliğinden yararlanır. Kapsayıcıları Windows Server üzerinde yerel olarakde çalıştırabilirsiniz.

  • Docker, Docker Compose, Kubernetes, Helm ve diğer yararlı teknolojiler için destek içeren Visual Studio ve Visual Studio Code güçlü kapsayıcı desteğini kullanarak Windows tabanlı kapsayıcılar geliştirme, test, yayımlama ve dağıtma.

  • Başkalarının kullanması için uygulamalarınızı kapsayıcı görüntüleri olarak yayımlama genel DockerHub'da veya kuruluşunuzun kendi geliştirme ve dağıtımı için özel Azure Container Registry doğrudan Visual Studio ve Visual Studio Code içinden gönderme ve çekme.

  • Azure veya diğer bulutlarda kapsayıcıları uygun ölçekte dağıtma:

    • Uygulamanızı (kapsayıcı görüntüsü) Azure Container Registry gibi bir kapsayıcı kayıt defterinden çekin ve Azure Kubernetes Service (AKS)gibi bir düzenleyici kullanarak uygun ölçekte dağıtıp yönetin.
    • Azure Kubernetes Service, kapsayıcıları Azure sanal makinelerine dağıtır ve onlarca, yüzlerce, hatta binlerce kapsayıcıdan oluşan kapsayıcıları büyük ölçekte yönetir. Azure sanal makineleri özelleştirilmiş bir Windows Server görüntüsü (Windows tabanlı bir uygulama dağıtıyorsanız) veya özelleştirilmiş bir Ubuntu Linux görüntüsü (Linux tabanlı bir uygulama dağıtıyorsanız) çalıştırır.
  • Azure Stack HCI üzerindeAKS kullanarak, AKS Engine ile Azure Stackveya OpenShift ile Azure Stack'işirket içi dağıtın. Kubernetes'i Windows Server'da kendiniz de ayarlayabilirsiniz (bkz. Windows 'da Kubernetes) ve RedHat OpenShift Container Platform üzerinde Windows kapsayıcılarını çalıştırma desteği üzerinde çalışıyoruz.

Kapsayıcılar nasıl çalışır?

Kapsayıcı, bir uygulamayı konak işletim sisteminde çalıştırmaya yönelik yalıtılmış, basit bir pakettir. Kapsayıcılar, aşağıdaki diyagramda gösterildiği gibi konak işletim sisteminin çekirdeğinin (işletim sisteminin gömülü altyapısı olarak düşünülebilir) üzerine inşa edilir.

Kapsayıcıların çekirdek üzerinde nasıl çalıştığını gösteren mimari diyagram

Kapsayıcı, konak işletim sisteminin çekirdeğini paylaşırken kapsayıcı buna sınırsız erişime sahip değildir. Bunun yerine kapsayıcı, sistemin yalıtılmış ve bazı durumlarda sanallaştırılmış görünümünü alır. Örneğin, bir kapsayıcı dosya sisteminin ve kayıt defterinin sanallaştırılmış bir sürümüne erişebilir, ancak tüm değişiklikler yalnızca kapsayıcıyı etkiler ve durduğunda atılır. Kapsayıcı, verileri kaydetmek için Azure Disk gibi kalıcı depolamayı veya Azure Dosyalargibi bir dosya paylaşımını bağlayabilir.

Kapsayıcı çekirdeğin üzerinde oluşturulur, ancak çekirdek bir uygulamanın çalıştırması gereken tüm API'leri ve hizmetleri sağlamaz; bunların çoğu kullanıcı modunda çekirdeğin üzerinde çalışan sistem dosyaları (kitaplıklar) tarafından sağlanır. Kapsayıcı, konağın kullanıcı modu ortamından yalıtıldığından, kapsayıcının temel görüntü olarak bilinen bir şeye paketlenmiş olan bu kullanıcı modu sistem dosyalarının kendi kopyasına ihtiyacı vardır. Temel görüntü, kapsayıcınızın oluşturulduğu temel katman görevi görür ve çekirdek tarafından sağlanmayan işletim sistemi hizmetleri sağlar. Ancak daha sonra container imajları hakkında daha fazla konuşacağız.

Kapsayıcılar ile sanal makineler karşılaştırması

Kapsayıcının aksine, bir sanal makine (VM) bu diyagramda gösterildiği gibi kendi çekirdeği dahil olmak üzere eksiksiz bir işletim sistemi çalıştırır.

VM'lerin konak işletim sistemi yanında tam bir işletim sistemini nasıl çalıştıracaklarını gösteren mimari diyagram

Kapsayıcıların ve sanal makinelerin kullanımları vardır; aslında birçok kapsayıcı dağıtımı, özellikle bulutta kapsayıcı çalıştırırken doğrudan donanım üzerinde çalışmak yerine konak işletim sistemi olarak sanal makineleri kullanır.

Bu tamamlayıcı teknolojilerin benzerlikleri ve farklılıkları hakkında daha fazla bilgi için bkz. kapsayıcılar ile sanal makineler karşılaştırması.

Kapsayıcı görüntüleri

Tüm kapsayıcılar kapsayıcı görüntülerinden oluşturulur. Kapsayıcı görüntüsü, yerel makinenizde veya uzak kapsayıcı kayıt defterinde bulunan bir katman yığını halinde düzenlenmiş bir dosya paketidir. Kapsayıcı görüntüsü, uygulamanızı desteklemek için gereken kullanıcı modu işletim sistemi dosyalarından, uygulamanızın çalışma zamanlarından veya bağımlılıklarından ve uygulamanızın düzgün çalışması için gereken diğer çeşitli yapılandırma dosyalarından oluşur.

Microsoft, kendi kapsayıcı görüntünüzü oluşturmak için başlangıç noktası olarak kullanabileceğiniz birkaç görüntü (temel görüntüler olarak adlandırılır) sunar:

  • Windows - Windows API'lerinin ve sistem hizmetlerinin tamamını (eksi sunucu rolleri) içerir.
  • Windows Server - Windows API'lerinin ve sistem hizmetlerinin tamamını içerir.
  • Windows Server Core- Windows Server API'lerinin bir alt kümesini içeren daha küçük bir görüntü; yani tam .NET framework. Ayrıca sunucu rollerinin çoğunu içerir (örneğin, Faks Sunucusu dahil değildir).
  • nano sunucu - en küçük Windows Server görüntüsü ve .NET Core API'leri ve bazı sunucu rolleri için destek içerir.

Container görüntüleri bir dizi katmandan oluşur. Her katman, üst üste bindirildiğinde kapsayıcı görüntünüzü temsil eden bir dosya kümesi içerir. Kapsayıcıların katmanlı yapısı nedeniyle, Windows kapsayıcısı oluşturmak için her zaman bir temel görüntüyü hedeflemeniz gerekmez. Bunun yerine, istediğiniz çerçeveyi taşıyan başka bir görüntüyü hedefleyebilirsiniz. Örneğin, .NET ekibi .NET core çalışma zamanını taşıyan bir .NET core görüntüsü yayımlar. Kullanıcıların .NET core yükleme işlemini yineleme gereksiniminden kurtarır; bunun yerine bu kapsayıcı görüntüsünün katmanlarını yeniden kullanabilirler. .NET core görüntüsünün kendisi Nano Sunucu'yu temel alır.

Diğer ayrıntılar için bkz. Kapsayıcı Taban Görüntüleri.

Container kullanıcıları

Geliştiriciler için kapsayıcılar

Kapsayıcılar, geliştiricilerin daha yüksek kaliteli uygulamaları daha hızlı oluşturmalarına ve göndermelerine yardımcı olur. Kapsayıcılarla geliştiriciler, tüm ortamlarda aynı şekilde ve saniyeler içinde dağıtılabilen bir kapsayıcı imajı oluşturabilir. Kapsayıcılar, konak dosya sisteminizi etkilemeden ekipler arasında kod paylaşmak ve geliştirme ortamını önyüklemek için kolay bir mekanizma görevi görür.

Kapsayıcılar taşınabilir ve çok yönlüdür, herhangi bir dilde yazılmış uygulamalar çalıştırabilir ve Windows 10, sürüm 1607 veya üzeri ya da Windows Server 2016 veya sonraki sürümleri çalıştıran tüm makinelerle uyumludur. Geliştiriciler bir kapsayıcıyı dizüstü veya masaüstü bilgisayarlarında yerel olarak oluşturup test edebilir ve ardından aynı kapsayıcı görüntüsünü şirketlerinin özel bulutu, genel bulutu veya hizmet sağlayıcısına dağıtabilir. Kapsayıcıların doğal çevikliği, büyük ölçekli, sanallaştırılmış bulut ortamlarında modern uygulama geliştirme desenlerini destekler. Geliştiriciler için en kullanışlı avantaj, uygulamanızın her zaman belirttiğiniz kitaplıkların sürümünü alması için ortamınızı yalıtma ve bağımlılıklarla çakışmaları önleme olanağıdır.

BT uzmanları için kapsayıcılar

Kapsayıcılar, yöneticilerin güncelleştirilmesi ve bakımı daha kolay olan ve donanım kaynaklarını daha çok kullanan bir altyapı oluşturmasına yardımcı olur. BT uzmanları kapsayıcıları kullanarak geliştirme, Soru-Cevap ve üretim ekiplerine standartlaştırılmış ortamlar sağlayabilir. Sistem yöneticileri kapsayıcıları kullanarak işletim sistemi yüklemelerindeki ve temel altyapıdaki farkları soyutlar.

Aynı sistemde bir komut satırı aracının çakışan örneklerini çalıştırmak için kapsayıcıların etkileşimli modunu da kullanabilirsiniz.

Kapsayıcı orkestrasyonu

Orkestratörler, konteyner tabanlı bir ortam kurulurken kritik bir altyapı parçasıdır. Docker ve Windows'u kullanarak birkaç kapsayıcıyı el ile yönetebilirsiniz ancak uygulamalar genellikle beş, on ve hatta yüzlerce kapsayıcıdan yararlanır ve düzenleyiciler bu noktada devreye girer.

Kapsayıcı düzenleyicileri, kapsayıcıların büyük ölçekte ve üretim ortamında yönetilmesine yardımcı olmak için oluşturulmuş. Düzenleyiciler aşağıdakiler için işlevsellik sağlar:

Düzenleyiciler kapsayıcılı uygulamaları büyük ölçekte büyütmenize yardımcı olarak şunların işlevselliğini sağlar:

  • Büyük ölçekte dağıtma
  • İş yükü zamanlaması
  • Sağlık izleme
  • Bir düğüm başarısız olduğunda yedekleme devreye girme
  • Ölçeği artırma veya azaltma
  • Hizmet keşfi
  • Uygulama yükseltmelerini koordine etme
  • Küme düğümü bağlılığı

Windows kapsayıcılarıyla kullanabileceğiniz birçok farklı düzenleyici vardır; Microsoft'un sağladığı seçenekler şunlardır:

Windows'da kapsayıcıları deneyin

Windows Server veya Windows 10'da kapsayıcıları kullanmaya başlamak için aşağıdakilere bakın:

Senaryonuz için hangi Azure hizmetlerinin doğru olduğunu belirleme konusunda yardım için bkz. azure kapsayıcı hizmetleri ve Uygulamanızıbarındırmak için hangi Azure hizmetlerinin kullanılacağını seçme.

Kaynaklar

Windows Server kapsayıcılarını kullanmaya yönelik kaynakları görüntülemek için: