İlginizi Çekebilir
  1. Ana Sayfa
  2. Container
  3. Temel Docker Kullanımı

Temel Docker Kullanımı

Temel Docker Kullanımı

Docker kurulumu yaptıktan sonra ilk işimiz docker üstüne container’lar oluşturmak ve kullanmak. Docker kurulumunun nasıl yapıldığını öğrenmek için Docker Kurulumu yazımızı inceleyebilirsiniz.

Docker kurulduktan sonra kurduğumuz işletim sisteminde (windows, linux, macOSx vs.) farklı imajlarla(linux, windows, custom) docker containerları oluşturabilirsiniz. Ben kurulumumu windows makina üzerinde yaptım. Windows makina üstünde hem linux hem de windows containerları oluşturabilirsiniz.

Oluşturacağınız containerların windows mu veya linux mü olacağını docker ayarlarından seçmelisiniz. Docker kurulduktan ve çalıştıktan sonra görev yöneticimize Docker ikonu gelir, ikon üzerine sağ tıklayarak container işletim sistemi tipini seçebilirsiniz.

Resim-1

Bu ayarı yaptıktan sonra docker containerlarınızı oluşturabilirsiniz. Docker ekosistemi ile ilgili temel bilgileri öğrendikten sonra docker kullanamaya başlayabiliriz. Öncelikle bazı temel bilgileri inceleyelim.

Docker kurulumunuzun versiyonunu öğrenmek için; “docker version” komutunu çalıştırmalısınız.

Resim-2

Bu komut çıktı olarak size ve Server versiyon bilginizi, API versiyon bilginizi, işletim sistemi mimarsi gibi bilgileri verir.

Docker ile ilgili detay bilgi almak için; “docker info” komutunu çalıştırmalısınız.

Resim-3

Bu komut çıktı olarak çalışan docker’ınız ile ilgili size detaylı bilgileri verir. Docker swarm kurulu mevcut mu? Mimari bilgisi, kurulan docker versiyonu, docker local imaj repository lokasyon bilgisi vs.

Docker kurulumu temel olarak iki ana bileşen kurar. Bunlardan birisi “” diğeri ise “Docker Client”

Docker Daemon: Docker daemon Docker API isteklerini dinleyen, imajlarınızı, network’ü, container’ları ve disk volume’larınızı yöneten “Docker Engine” olarak bilinen mekanızma. Daemon aynı zamanda diğer kurulu daemon’lar ile de haberleşip Docker servislerini yönetebilir.

Docker Client: Docker client ise temel olarak Docker ile etkileşimde bulunduğunuz arabirimdir. Örnek olarak yukarıda komutları çalıştırdığınız ve size cevabı veren bileşen. Docker ile ilgili bir komut çalıştırdığınız da docker client’ I bu komutu işler ve ek istekler var ise daemon ile iletişime geçer. Bir docker client’I birden fazla daemon ile iletişime geçebilir.


Docker üzerinde container oluşturabilmek için öncelikle bir imaja sahip olmanız gerekir. Docker containerları bir imajın çalışan bir kopyasıdır. Imajlarınız local bir alanda veya bulut üzerinde bir alanda tutulabilir.

Ilk docker kurulumu yaptığınız zaman sisteminizde herhangi bir docker imajı bulunmaz. Container çalıştırmak için internetten hazır bir imaj alabiliriz. Bu imajlar sade bir işletim sistemi veya üstünde bir kaç bileşen bulunan işletim Sistemleri olabilir. Örneğin, sadece ubuntu kurulu olan bir imaj veya ubuntu üzerinde MySQL kurulumu yapılmış bir ubuntu imajı.

Container ekosisteminde imajlar “Container Registry” denilen bir alanda tutulur. Bunlar dediğimiz gibi local veya bir bulut alanında olabilirler. Container Registry’ler ise kendi içlerinde repository dediğimiz alanlar bulundururlar. Repositery’leri mantıksal olarak imajları gruplayan bir kütüphane olarak düşünebiliriz.

Container Registry’leri container dünyasının App Store’u veya Google Play’I gibi düşünebilirsiniz.

İlk container’ımız oluşturmak için bir repositoryden imaj bulalım. Bu işlem için docker da kayıtlı olan Container Registry’inizde arama yapmanız gerekiyor. Docker kurulumu ile beraber Docker firmasına ait olan hali hazırda ayarlı bir Container Registry bulunmaktadır.

Docker için default public Registry https://hub.docker.com adresidir.

Siz arama yaptığınız zaman Docker Client’I varsayılan olarak bu alanı arar.

Resim-4

Bir ubuntu container’ I kurmak istediğimizi varsayalım. Imajı aratmak için “docker search” komutunu çalıştırmamız gerekiyor.

Resim-5

Çıkan listede ubuntu yazdığımız zaman bulunan mevcut imajlar görüntüleniyor. İlk stun bize imajımızın ismini gösteriyor. Ilgili imajı indirmek için “docker pull” komutunu çalıştırmamız gerekiyor.

Docker pull komutumuzu çalıştırdıktan sonra ilgil imajımız registry’imizden iniyor. Bu senaryoda registrymiz https://hub.docker.com . Bu adresten imaj indirebilmek için da bir hesabınızın olması ve Docker Clientınıza bu hesap ile login olmanız gerekiyor.

Resim-6

Resim-7

Resim-8

Docker Hub’ da bulunan diğer imajları incelemek isterseniz. Docker Hub’ a browser üzerinde login olup detaylı inceleme yapabilirsiniz.

Resim-9

Pull ettiğimiz ve mevcutta bulunan tüm imajlarımızı görüntülemek için “docker images” komutunu çalıştırmamız gerekiyor.

Resim-10

İndirdiğimiz imajdan bir container çalıştırmak için “Docker run” komutunu kullanırız. Bu komutun iki önemli parametresi var, bunlard “-d” ve “-it”.

“-d” (deattached) parametresi ile bir container çalıştırdığımız zaman container direk çalışmaya başlar.

“-it” (interactive) parametresi ile bir container çalıştırdığımız zaman container çalışır ve bizi interaktif olarak çalışan container’ın komu satırına bağlar.

Ek olarak container’I çalıştırmak için container’ımıza bir isim vermemiz ve hangi imajdan çalışacağını söylememiz gerekiyor.

Resim-11

Gördüğünüz gibi yukarıda çalıştırdığım komut ile containerımız çalıştı ve beni “it” parametresi ile çalıştırdığım için ubuntu containerınız komut satırına bağladı.

Çalışan veya çalışmayan containerları görüntülemek için “docker ps” komutunu çalıştırmanız gerekiyor.

Resim-12

Containerları çalıştırmak ve durdurmak için, “docker start” ve “docker stop” komutlarını kullanırız.

Resim-13

Oluşturduğumuz bir container’I silmek için “docker rm” komutunu, indirdiğimiz bir imajı silmek için ise “docker rmi” komutunu kullanırız.

Resim-14

Docker ile ilgili detaylı bilgilere referans bölümünde yazmış olduğum adresleren erişebilirsiniz.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

https://www.docker.com/

https://docs.docker.com/

TAGs: , , , , Container çalıştırma, , , container registry, , docker hub, docker client, docker daemon

Yorum Yap

Yazar Hakkında

Onur Yüksektepeli - Chief Technology Architect | Micosoft MVP Onur Yüksektepeli Nephocraft firmasının kurucusu aynı zamanda kendi firmasında teknoloji çözümleri mimarıdır. 15 Yıldan fazla IT tecrübesi ile temel uzmanlık alanı olan Platform ve diğer teknolojiler için müşterilerine ürün ve hizmetler sunmaktadır. Microsoft MVP ünvanına sahip Onur Yüksektepeli birçok IT etkinliğinde aktif konuşmacı olarak ve IT topluluklarında yönetici olarak aktif rol üstlenmektedir. Nephocraft firmasın da yönetici olarak oluşturduğu çözümlerde yeni teknoloji gelişmelerini de göz önünde bulundurarak, müşterilerine esnek, yenilikçi, akıllı ve üretken iş çözümleri üretmektedir.Onur Yüksektepeli bulut, platform, data, devops, development gibi konularda aktif danışmanlık ve IT eğitmenliğine de devam etmektedir.

Yorum Yap