8 Haziran 2016 Çarşamba

WINDOWS 10 DESKTOP’TA DOCKER’I KULLANARAK HYPER-V CONTAINERS OLUŞTURMA VE ÇALIŞTIRMA NASIL YAPILIR


Bildiğiniz gibi windows ınsider programı bizlere windows 10 içinde Hyper-V üzerinde Container oluşturmamıza imkan sağladı.
Peki bu Container nedir ?
Container, kısaca yeni nesil sanallaştırma diyebileceğimiz, farklı uygulama platformalarının tek bir işletim sisteminde çalışmasıdır diyebiliriz.
Container kavramını docker ile birlikte anılması esasında tesadüf değildir. Peki bu Docker nedir?
Docker aslında bir sanallaştırma platformudur. Docker işletim sistemi imajlarını versiyonlayan, Apache lisanslı go dili ile yazılmış bir konteyner teknolojisidir.
Docker, linux işletim sistemi üzerinde çalışan bir uygulamadır. Docker’ın sanallaştırma yapısı, bilinen sanal makinelerden farklı olarak bir hypervisor katmanına sahip olmamasıdır. Bu yazılım, Docker engine üzerinden üzerinde çalıştığı işletim sistemine erişerek sistem araçlarını paylaşımlı olarak kullanmaya imkan sağlamaktadır. Bu aşamada doğal olarak akıllara, “Peki bu bize ne fayda sağlamakta” diye bir soru aklımıza gelir.
En önemli fayda, benim pc’de çalışıyordu. Neden sunucu(server) da çalışmıyor sorusunu ortadan kaldırmıştır. Bu platform sayesinde web sistemlerinin kurulumu, testi ve dağıtımı hızlıca yapabilir hale gelmektedir.
Örnek vermek gerekirse, python ile bir web yazılım geliştirildiğini farz edelim. Bunu dockersız ortamda çalıştırmamız için öncelikle;
·         Pip, python,virtualenv .. vb gibi araçların kurulması,
·         Django sunucusu kur,
·         Nginx, reverse proxy ayarları yap,
·         VM kur,
·         İşletim sistemi kur…. Vb gibi daha bir çok araç kurulumu gerekmektedir.
Eğer uygulamanız bir veritabanı kullanıyor ise ( ki kullanmalı) bu süreç daha da uzun sürecektir.
Docker esasında tam bu noktada ortaya çıkıyor, yapılması gereken tek şey tüm komutları tek bir dockerfile dosyasına yazıp, imajını oluşturup, istenildiği kadar sayıda sunucuya bunu gönderiyorsunuz.
Bu imajları Docker Hub gibi sitelerde tutup istenildiğinde hazır imajları alıp kullanabiliyorsunuz.
Docker, LXC sanallaştırma mekanizmasını kullanan ve container denilen birimlerde çalışmaktadır. Kurulacak sunucunun gücüne bağlı olarak binlerce container’ı tek bir makine (bu VM’de olabilir.) çalıştırabiliyorsunuz. Container imajları ortak olan sistem dosyalarını paylaşmakta ve bu sayede disk tasarrufu sağlamaktadır. Klasik VM’lerde ise her bir uygulama için ayrı bir işletim sistemi imajı ve dosyalar ayrılmak zorunda kalınmaktadır.

Resim -1-
Docker ve Container ile ilgili daha detaylı bilgileri ise internet üzerinden oldukça fazla bilgiye ulaşabilirsiniz.
Microsoft da Docker ile anlaşma yaparak, Windows Container adı altında 2 tip container mantığını bu dünyaya kazandırdı.
Microsoft tarafında container,  Windows Container ve Hyper-V Container.
Bu yazımda Windows 10 işletim sisteminde Hyper-V üzerinde container kurulumunun nasıl yapıldığından bahsedeceğim.
Öncelikle Hyper-V Containers, sadece Windows 10 Professional, Enterprise ve Education sürümlerinde çalışmaktadır.
                İlk yapılması gereken, control panel, windows features on or off sekmesinden Hyper-V ve Containers seçeneklerinı kurun.

Resim -2-
Bu iki komponent’i kurduktan sonra bilgisayarı restart edin.
Pc açıldıktan sonra PowerShell konsolunu Administrator modunda açın ve aşağıdaki komutu çalıştırın. Bu komut ile kısıtlanmış dış policy’lere izin veriyoruz.
Set-ExecutionPolicy Unrestricted
Daha sonra container Image paketini yükleyin.
Install-PackageProvider ContainerImage -Force komutu ile yükleyin. Resim-3-

Resim-3-
Bu paket,  temel işletim sistemi görüntülerini Hyper-V Container’ın çekmesine izin verecektir.
Bu örnek’te Hyper-V Container’ı çalıştırmak için Nano Server base container imajını çekmesi için kullanılacaktır. Nano Server İmajını çekmek için Install-ContainerImage NanoServer komutunu çalıştırın. İnternet bağlantısının hızına göre indirme işleminin hızı değişecektir.
Container imajı indirildikten sonra artık Docker’ı bilgisayarınıza kurabilirsiniz. Kurulum işlemini isterseniz bir PS script’i ile de yapabilirsiniz. http://aka.ms/tp5/update-containerhost  linkindeki script’i bilgisayarınıza keydetin ve script’i çalıştırın. Bu script, docker client, Docker Deamon ve tüm bileşenleri ve konfigürasyonları download edecektir.  Resim-4-

Resim-4-
Tüm kurulumlar tamamlandıktan sonra Docker komutlarını Hyper-V Containers da çalıştırabilir durumda olacaksınız.
Docker images komutunu kullanarak bilgisayarınızda var olan tüm imajları görüntüleyebilirsiniz. Resim-5-

Resim-5-
Docker tag’larının istenilen bir bir imaj’da çalıştırmak için docker tag komutunu kullanarak yapabilirsiniz. Resim-6-

Resim-6-
Bundan sonra Administrator yetkisi ile CMD ekranı açın. Aşağıdaki komutu kullanarak yeni bir Hyper-V container’ı oluşturun. Resim-7-
docker run –it –isolation=hyperv nanoserver cmd
Birkaç dakika sonra Hyper-V Container’ı ile çalışmaya başlayacaksınız. Resim-8-


Resim-7-
Kaynak:
 MSDN