Bir önceki yazımızda Docker’ın ne olduğu, önemi ve benzerlerinden farkları konularına değinmiştik. Bu yazıda ise bilgisayarımıza Docker yükleyip, ilk Dockeri imajımızı indirip kullanacağız.
Docker, ilk çıktığında Linux işletim sistemi üzerinde çalışmaktaydı. Windows ve macOS üzerinde ise sanal makineler yardımı ile kullanılabilmekte. Geçtiğimiz yıllarda Windows containerları desteği de geldi ve ASP.NET ve Windows Server imajları da kullanılabilir hale geldi. Fakat, Docker’ın genel kullanımı hala Linux containerları üzerinde yoğunlaştığı için bu eğitim serimizde de Linux containerları ile devam ediyor olacağız.
Docker Indirme ve Kurulum
Windows ve macOS kullanıcıları için Docker for Dekstop uygulaması ile Docker kurulumu çok kolay hale gelmiştir. Farklı şekillerde kurulabilir olsa da bunu kullanmanızı tavsiye ederim. Çünkü içerisinde ileride kullanacağımız, tek sunuculu Kubernetes de yüklü gelecek.
Windows kullandığınızı varsayarsak, yukarıdaki sayfada Download for Windows yazan butona bastığınızda aşağıda iki tane kurulum türü göreceksiniz. Orada Get Docker Desktop for Windows (stable) yazısına tıkladığınızda indirme işlemi başlayacak. Diğer sürüm Edge denilen, son özelliklerin olduğu, fakat beta olması nedeniyle son kullanıcıya tavsiye edilmeyen sürümdür.
Kurulum dosyası, bu yazıyı yazdığımız zaman yaklaşık 900 MB idi, internet hızınıza bağlı olarak indirim süresi 5-15 dakika arası sürebilir. Bu kadar büyük olmasının sebebi ise Kubernetes bileşenlerinin de içinde hazır kurulu gelmesi. İlerleyen yazılarmızda Kubernetes kullanımına daha detaylı değineceğiz. Kurulum dosyasını çalıştırdığınızda aşağıdaki gibi bir ekran sizi karşılayacak. Seçili olanları değiştirmeden Ok yazısına basarak kuruluma devam edebilirsiniz.
Docker Kullanim
Kurulum biraz vakit alabilir. Kurulum bittikten sonra ise araç Windows’u yeniden başlatmanızı isteyecek. Bunu yapmanız gerek çünkü Windows’ta sanallaştırmanın çalışabilmesi için bir kaç ayarı değiştiriyor ve bunlar da yeniden başlatmak gerektiriyor. Bilgisayarı yeniden başlattığınızda ise ekranın sağ alt köşesinde aşağıdaki gibi bir ekran çıkacak:
Burada Docker ID ve şifre girmenizi istiyor, fakat bunu yapmanıza gerek yok. Docker ID sadece imajlarınızı Docker Hub’a yollamak isterseniz gerekecek. İstiyorsanız oradaki linke tıklayıp hesap açabilirsiniz, fakat Docker’ı kullanmak için kullanıcı hesabına gerek yok. Bu ekranı kapatabilirsiniz.
Docker’ı kullanmak için bir terminal, konsol gerekmekte. Windows’ta bir kaç Komut arayüzü (Command Prompt) veya PowerShell kullanabilirsiniz. Bunlar her Windows kurulumunda gelmekte. Start tuşuna basıp direk arayabilirsiniz. Daha modern bir alternatif isterseniz, önizleme sürümünde olan Windows Terminal’i de kullanabilirsiniz. Örneklerde Windows Terminal’i kullanıyor olacağız, ama diğerleri de kullanılabilir.
Docker’ın düzgün yüklendiğini doğrulamak için terminalde docker version komutunu yazıp çalıştırın. Bu komut Docker CLI ver sunucu versiyonlarını gösterecektir. Aşağıdaki gibi bir ekran sizi karşılayacak.
Bu eğitim yazıldığındaki mevcut stabil Docker for Windows sürümü 19.03.8. Docker’ın ilk kullanımına gelecek olursak, Docker Hub dan bir Docker imajı çekip, onun içinde bir kaç komut çalıştıracağız.
Terminalde, docker run -ti alpine komutunu çalıştırın. Alpine minimal bir Docker imajıdır, boyutu yaklaşık 5 MB olduğu için kısa bir sürede bilgisayarınıza iner. Bittiğinde ise aşağıdaki gibi bir çıktı sizi karşılıyor olacak.
Resimde gördüğünüz gibi alpine imajı bilgisayarımızda bulunmadığı için onu internetten çekiyor. Bu imaj tek layer’dan oluşuyor. İmajlar ve layerlara bir sonraki dersimizde daha detaylı değineceğiz. docker run komutu bir imajdan yeni bir container açılmasını sağlıyor. Verdğimiz -ti komutları ise açılan container’ın interaktif bir terminal olarak açılmasını sağlıyor. Bu sayede içine girip, bildiğiniz Linux komutlarını çaıştırabilirsiniz. Denemek için ps aux ve echo merhaba > dosya komutlarını çalıştırın.
Ps aux komutu işletim sisteminde çalışan processleri listeler. Gördüğünüz gibi çıktıda ise sadece 2 process göreceksiniz. Docker’ın işletim sistemi seviyesi sanallaştırması sayesinde Docker’ın çalıştığı sanal makinedeki diğer hiç bir process gözükmüyor. Ve dosya sistemine bakarsanız bir kaç klasör göreceksiniz. Buraya çalıştırdığımız echo komutu ile bir dosya yazdık. Bu container’dan CTRL+D tuşu ile ya da exit yazarak çıkalım. Ardından tekrar docker run -ti alpine komutunu çalıştırıp container içinde ls komutunu çalıştırın.
Bunu çalıştırdğınızda göreceksiniz ki bir önceki dosya artık yok. Bunun sebebi ise Docker containerlarında disk katmanlı yapıda çalışır. Çalıştırmak istediğiniz Docker imajının katmanlarının üstüne yeni açılan bir katman olur. Her container’ın katmanları izole olduğundan değişikliker imajları etkilemez. Docker’ın yeni bir container’ı açma hızının da bir saniye bile olmadığını göz önüne alırsanız, bu process ve disk iizolasyonu sayesinde istediğiniz gibi kullan at ortamlar oluşturabilir, denemek istediğiniz çoğu şeyi ana sisteme zarar vermeden deneyebilirsiniz. Bu izolasyon özelliği test, veritabanı ve mikroservis çalıştırma ortamlarında çok faydalı olmakta, işlerinizi kolaylaştırmaktadır.
Bir sonraki yazımızda Docker imajlarına daha derinden bakacağız, katman (layer) yapısından bahsedip izolasyonun nasıl çalıştığına değineceğiz. Ayrıca Docker Hub’da bulunan veritabanı, , hazır uygulama ve benzeri imajları kullanıp kendi bilgisayarımızda kolaylıkla çalıştırıp onlara erişmeyi öğreneceğiz.
Docker’ı diğer işletim sistemlerinde kullanmak istiyorsanız, macOS için de Docker Dekstop for Mac kullanabilirsiniz. Linux’ta kullanmak için ise paket yöneticilerini kullanabilirsiniz. Detaylı bilgi için bu linklere de bakabilirsiniz: Ubuntu, CentOS, Fedora
Takildiginiz yerde sorularinizi buradan sorabilirsiniz.
Tüm derslerimiz için tıklayınız.
23