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 birçok araç ve platform 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ı 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 uygun ölçekte yönetir. Onlarca, yüzlerce, hatta binlerce kapsayıcı çalıştırabilirsiniz.

    • Azure sanal makineleri, Windows tabanlı uygulamalar için özelleştirilmiş bir Windows Server görüntüsü veya Linux tabanlı uygulamalar için özelleştirilmiş bir Ubuntu Linux görüntüsü çalıştırır.

  • Azure Arc tarafından etkinleştirilen Azure Kubernetes Service (AKS), Azure Stack Hub'da AKS motoru, veya OpenShift ile Azure Stack Hub kullanarak şirket içi kapsayıcıları dağıtın. Kubernetes'i Windows Server'da kendiniz de ayarlayabilirsiniz. Daha fazla bilgi için bkz. Windows üzerinde Kubernetes. Microsoft ayrıca RedHat OpenShift Kapsayıcı Platformu'nda Windows kapsayıcıları için destek geliştiriyor.

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ü tesisatı olarak düşünebileceğiniz) üzerinde çalışır.

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 inşa edilmiştir, ancak çekirdek bir uygulamanın çalışabilmesi için gereken tüm API'leri ve hizmetleri sağlamaz. Bu API'lerin ve hizmetlerin çoğu, kullanıcı modunda çekirdeğin üzerinde çalışan sistem dosyalarından (kitaplıklardan) gelir. Kapsayıcı, konağın kullanıcı modu ortamından yalıtılmış olduğundan, kapsayıcının bu kullanıcı modu sistem dosyalarının kendi kopyasına ihtiyacı vardır. Bu dosyalar temel görüntü olarak bilinen bir dosyaya paketlenir. Temel görüntü, kapsayıcınızı oluşturduğunuz temel katman görevi görür ve çekirdek tarafından sağlanmayan işletim sistemi hizmetleri sağlar.

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

Bir kapsayıcının aksine, bir sanal makine (VM) aşağıdaki 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 her birinin kullanımları vardır. Aslında kapsayıcıların çoğu dağıtımı, özellikle kapsayıcıları bulutta ç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 ve sanal makineler.

Kapsayıcı görüntüleri

Konteyner görüntülerinden tüm konteynerları oluşturursunuz. 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ın çalıştırması gereken kullanıcı modu işletim sistemi dosyalarından oluşur. Görüntü ayrıca uygulamanızın çalışma zamanlarını, bağımlılıklarını ve uygulamanızın gerektirdiği tüm yapılandırma dosyalarını içerir.

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. Çoğu, ancak tüm sunucu rollerini kapsamaz (ö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.

Daha fazla bilgi için bkz. Kapsayıcı Temel 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. Kapsayıcılı uygulamaları büyük ölçekte yönetirken düzenleyiciler gereklidir. 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 yararlanarak düzenleyicilerin vazgeçilmez olmasını sağlar.

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ğıdaki makaleye 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 aşağıdaki kaynaklara bakın: