Kapsayıcı Nedir?
Kapsayıcı, bir uygulamanın çalışabileceği yalıtılmış bir ortamdır.
Kapsayıcı, uygulama ve tüm destek dosyaları; çekirdek işletim sistemi, CPU ve bellek gibi ana bilgisayar kaynaklarının parçalarıyla oluşturulur ve ardından diğer kapsayıcılardan ve ana bilgisayarın kendisinden mantıksal olarak ayrılır.
Aşağıdaki diyagram, bir kırmızı ve bir sarı kapsayıcının aynı ana bilgisayar içinde bir arada bulunup aynı donanım ve çekirdek işletim sistemini kullanırken, uygulamaları dışarıdan bir müdahale olmadan çalıştırabilecek şekilde kendi bağımsız alanlarında nasıl barındırıldıklarını göstermektedir.
Aynı donanımın ve bu donanıma kurulu işletim sisteminin, her bir kapsayıcıda olanlardan bağımsız olarak kendi uygulamalarını ve hizmetlerini çalıştırabildiğine dikkat edin.
Windows Server'da kapsayıcılar nasıl oluşturulur ve çalıştırılır?
Kapsayıcılar Linux, Windows ve Mac işletim sistemleri gibi çeşitli platformlarda çalışabilir. Ancak bu makalede/demoda, Windows Server'da kapsayıcıları çalıştırma konusu ele alınmaktadır.
Windows Admin Center (WAC) veya Visual Studio dahil Windows kapsayıcılarıyla çalışmanın birçok yolu vardır. Ancak bu makalede/demoda Docker kullanılmıştır.
Docker; bir uygulamayı, tüm destek dosyalarını ve yapılandırma bilgilerini kapsayıcı adı verilen tek bir pakette birleştirmek için kullanılabilen bir platform-as-a-service ürünüdür. Docker daha sonra bu kapsayıcıyı göndermek, çalıştırmak veya silmek için kullanılabilir.
Sonraki adımlar, Windows Server 2022'nin yeni bir kurulumunda gerçekleştirildi.
Windows Server'da kapsayıcı çalıştırmak için önkoşulların bir listesini aşağıdaki dış bağlantıda bulabilirsiniz:
Başlangıç: Windows'u kapsayıcılar için hazırlama
Docker kullanarak Windows Server üzerinde kapsayıcı oluşturma ve çalıştırma adımları aşağıdaki gibi özetlenebilir:
1. Docker'ı Kurma
PowerShell'de (Yönetici olarak çalıştır) şu komutu girin:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
İstemle karşılaştığınızda NuGet kurulumunu onaylamak için "
Y" girin.
Aynı PowerShell oturumunda şu komutu girin:
Install-Package -Name docker -ProviderName DockerMsftProvider
İstemle karşılaştığınızda pakete güvenmek için "
Y" girin.
Aynı PowerShell oturumunda şu komutu girin:
Restart-Computer
2. Docker dosyası oluşturma ve kapsayıcı görüntüsü indirme
Yükseltilmiş bir PowerShell oturumunda kök dizine geçin ve şu komutu girerek yeni bir klasör oluşturun:
cd\
mkdir Containers
cd Containers
Aynı PowerShell oturumunda şu komutu girerek Docker dosyasını oluşturun ve düzenleyin:
New-Item dockerfile
(Dosya uzantısı olmadığına dikkat edin)
notepad dockerfile
Not defteri metin düzenleyicide aşağıdaki 3 satırı girin ve ardından Docker dosyasını kaydedip kapatın:
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
Hâlâ C:\Containers bağlamında bulunan Powershell'e dönün ve bir html dosyası oluşturup aşağıdakileri girerek düzenleyin:
New-Item index.html
notepad index.html
Not defteri metin düzenleyicide aşağıdaki üç satırı girin ve ardından index.html dosyasını kaydedip kapatın:
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3. Kapsayıcı oluşturma ve çalıştırma.
Hâlâ C:\Containers bağlamında bulunan PowerShell'e dönüp şunu yazın:
docker build -t webserver .
Görüntünün Microsoft Kapsayıcı Kayıt Defterinden indirilmesini bekleyin ve ardından şunu yazın:
docker images
Şimdi indirilen görüntüyü görmeniz gerekir.
Son olarak, indirilen görüntü şablonunu kullanarak bir kapsayıcı çalıştırmak için Powershell'e dönün ve şunu yazın:
docker run --name container1 -d -p 80:80 webserver
Bu son satır, hazırlanmış olan web sunucusu görüntüsüne göre container1 adlı bir kapsayıcı oluşturur ve çalıştırır. -d anahtarı, Windows'a kapsayıcıyı arka planda çalıştırma talimatı verir ve -p, Windows'a ana bilgisayardaki 80 numaralı bağlantı noktasını (HTTP) kapsayıcıdaki 80 numaralı bağlantı noktasına iletmesini söyler.
Kapsayıcıyı test etmek için:
Ana bilgisayarda bir web tarayıcı açın ve localhost'a gidin (aynı ağ segmentinde farklı bir bilgisayar da kullanabilir ve kapsayıcının ana bilgisayar IP adresine veya bilgisayar adına gidebilirsiniz).
Daha önce oluşturulan örnek HTML web sayfasına tıklamanız gerekir:
Bu adım, Windows Server 2022'de Docker kapsayıcılarının nasıl çalıştırılacağına ilişkin eğitimi tamamlar.