Home TürkçeDevOps Yeni Başlayanlar için Docker

Yeni Başlayanlar için Docker

by Fatih Boy
0 comment

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)

Şu Yazıları da Sevebilirsiniz

Leave a Comment

* Bu formu kullanarak, verilerinizin bu web sitesi tarafından saklanması ve kullanılmasını kabul ediyorsunuz.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bunu kabul ettiğinizi varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul Et Daha Fazla Bilgi