Docker Nedir ? Docker Dersleri 1

Docker Nedir ?
Docker container oluşturma aracıdır. Container oluşturarak uygulamaları kolayca derlemeyi, çalıştırmayı ve test etmenizi sağlar.
Container Nedir ?
Uygulamaları tüm gerekli bağımlıkları ve ayarları ile paketleme yoludur.
Geliştirme, test ve deploy(Uygulamanın canlıya kurulması) süreçlerini hızlandırır.
Kolayca paylaşmaya olanak sağlar.

Ama benim bilgisayarımda çalışıyordu.

bir yazılımcı bahanesi 🙂

Docker tam olarak bu soruna çözüm getiren bir teknolojidir.

Docker Image(imaj) ve Docker Container

  • Docker image dockerfile ile oluşturulan çalıştırılmaya hazır yapılardır. Uygulamanızı başka bir bilgisayardan çalıştırmak istediğinizde paylaşmanız gereken yapıdır.
  • Image Docker container’in çalışan bir kopyasıdır.

Docker ‘ın Genel Yapısı ve İşleyişi

docker genel yapısı

API ya da Docker Client Cli sayesinde isteklerimizi docker Daemon’a iletir. Alınan isteklere göre İmage bulunuyorsa direkt çalıştırılır. Eğer image bulunmuyorsa öncelikle image Docker Hub(Docker Image’lerini bulunduran platform)’dan indirilir ve çalıştırılır.

Docker Hub yerine kendiniz özel bir Docker Registry(Image kayıt platformu) kurabilirsiniz. (Yazının ilerleyen kısmında gösterilecektir.)

Komutlar

Docker run

docker run hello-world

Bu komut image çalıştırır. Eğer Image’i Local’de bulamazsa ilk olarak pull ( Docker Hud’dan çeker ) yapar. Sonrasında çalıştırır. Docker run komutuna birçok parametre geçilebildiğinden onları daha sonra inceleyeceğiz.

Docker ps

docker ps
docker ps -a

Bu komut çalışan docker containerlarını gösterir. -a parametresi geçildiğinde ise çalışmış olan dahil tüm containerları gösterir.

Docker stop

docker stop {image_id}

Docker stop komutu verilen image_id veya tag ile eşleşen Container’ı durdurur.

Docker kill

docker kill {image_id}

Docker kill komutu verilen image_id veya tag ile eşleşen Container’ı durdurur.

Docker kill ve stop farki Nedir?
Docker stop container’a durması için sinyal gönderirken kill komutu işlemi direk kapatır.

Docker rm

docker rm {image_id}

Docker rm komutu verilen image_id veya tag ile eşleşen Image’i siler.

Docker logs

docker logs {image_id}

Docker logs komutu verilen image_id veya tag ile eşleşen container içerisinde konsola basılan print mesajlarını gösterir.

Docker exec

docker exec {image_id}

Docker exec komutu çalışan container içerisinde komut koşmamızı sağlar.

Image Komutları

Docker build

docker build .
docker build {path}

Docker build komutu verilen path’de bulunan dockerfile ile image oluşturur.

Docker pull

docker pull {image_adı}

Docker pull ile verilen Image’i Registry’den (Docker Hub ya da özel registry) indirir.

Docker push

docker push {tag}

Docker push komutu taglenmiş Image’i uzak sunucuya ya da özel Registry’e yüklememizi sağlar.

Docker tag

docker tag {image_name} {uzak_sunucu/image_name}

Docker tag komutu Image’e ad vermek için kullanılır. Genelde uzak sunucuya yükleneceği zaman kullanılır.

Docker bir çok komuta sahiptir. docker –help komutu ile bu komutları listeleyebilirsiniz.

Burada en çok kullanılan komutlar listelenmiştir.

One Comment

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir