Yeni Başlayanlar için Docker

Bir önceki makalemle birlikte Docker’ın ne olduğunu, daha önceden bilmiyorsanız, öğrendiğinize göre şimdi sıra geldi ilk adımlarımızı atmaya. Docker’a yeni başlayanlar için hazırladığım bu makalemde hedefimiz biraz ısınıp ilk adımlarımızı atabilmek olacak.

Öncelikle, şimdiye kadar henüz yapmadıysanız, ilgili Docker sürümünü bilgisayarınıza kurmalısınız. Kurulum işlemi ardından Docker uygulaması çalışmaya başlayacaktır. Ardından bir komut satırı açarak ilk Docker imajımızı bir Container’a yükleyip çalıştırabiliriz.

docker run hello-world

docker run hello-world

Bu komut Docker’a hello-world imajını bularak çalıştırmasını söylüyor. Komutu ilk çalıştırdığınızda yerelinizde bu imajı bulunmadığı için Docker Hub üzerinden bulunarak yerelinize indirilecek, ardından da bir imajın çalışabileceği bir Container oluşturacak ve çalıştırılacaktır. Yukarıdaki ekran görüntüsünde de göreceğiniz üzere hello-world imajı en basit şekliyle ekrana çıktı veren basit bir uygulama çalıştıracaktır.

Bu haliyle ilk imajımızı indirerek bir Container oluşturmuş ve çalıştırmış oluyoruz. Bu da Docker kurulumumuzda herhangi bir problem olmadığı anlamına geliyor.

Dikkat ederseniz hello-world imajını çalıştırmak için kullandığımız komutumuz üç bölümden oluşuyor.  İlk bölüm, docker, işletim sistemine gönderilen bir komut. Docker uygulamasının çalıştırmasını istiyoruz. İkinci bölüm, run, ile docker uygulamasına bir komut gönderiyorum. Bir Container oluşturularak çalıştırılmasını istiyoruz. Son bölümde ise, hello-world, çalıştırılmasını istediğimiz imajın adını belirtiyoruz.

Docker, talep edilen imajları yerelde bulamaması durumunda Docker Hub üzerinde arayacaktır. Bir market place olarak düşünebileceğiniz Docker Hub’ı ziyaret ederek başkaları tarafından daha önceden oluşturulmuş hazır imajlar arasında arama yapabilirsiniz.  Alternatif olarak; komut satırından da Docker Hub’ta yer alan imajlar arasında arama yapabilmeniz mümkün. Örneğin;

docker search dotnet

docker search dotnet

Artık bir sonraki adıma geçebiliriz. Bu adımda amacımız çalışmasını istediğimiz imaja bir de parametre geçmek. Bu sefer komut satırından aşağıdaki komutu çalıştırın;

docker run docker/whalesay cowsay “Enterprisecoding, Merhaba Docker”

Docker, WhaleSay imajı

Linux kullanıcılarının yakından tanıdığı cowsay uygulamasının docker dünyası uyarlaması olan whalesey ile gördüğünüz gibi komut satırından verdiğimiz parametre container içerisindeki uygulamaya geçildi.

Container içerisindeki bir uygulamaya parametre geçebildiğimizi de gördüğümüze göre sıra geldi yönetimsel bir kaç komut öğrenmeye.

İlk öğreneğimiz komut sistemimizde bulunan imajları listeleme olacak;

docker images

docker-images

Bu komutu çalıştırdığınızda yerelinizde bulunan imajlar listelenerek imaj tag’leri, id’leri oluşturulma tarihleri ve boyutları hakkında size bilgi verilecektir. Burada listelenen imajlar daha önceki docker run komutları ile çalışmasını istediğimiz imajlardır. Daha öncede belirttiğim gibi bu imajlar ilk çalıştırmada yerele indirilmekte, takip eden çalıştırmalarda yereldeki bu imajlar kullanılmaktadır.

Her ne kadar şimdiye kadar kullandığımız iki örneğimiz çalışarak çıktı üretmeleri ardından kapansalarda, kimi Docker imajlar biz durdurana kadar çalışmaya devam edebilir. Bunun en güzel örneği ise uygulama sunucusu imajlarıdır. Bu gibi durumlarda arka planda çalışmaya devam eden Docker Container’larını takip etmek, üzerlerinde işlem yapmak gerekebilir. Bu durumda aşağıda komutlar oldukça işinize yarayacaktır;

Çalışan Container’ları listelemek için

docker ps

Tüm container’ları listelemek için;

docker ps -a

Çalışan bir container’ı durdurmak için;

docker stop  [CONTAINER_ID]

Container’ı silmek için;

docker rm [CONTAINER_ID]

Docker imajını silmek için;

docker rmi [İMAJ_ADI]

Son olarak; elinizin altında bulunmasında fayda olan bir kaç Docker komutunu aşağıda bulabilirsiniz;

Tüm Docker Container’larını silmek (Linux, Mac OS)

docker rm $(docker ps -a -q)

Tüm Docker imajlarını silmek (Linux, Mac OS)

docker rmi $(docker images -q)

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir