Docker Container(Konteyner) Nedir, Nasıl Oluşturulur?


Giriş

Docker, konteyner teknolojisi ile bir uygulamayı oluşturma, oluşturulan uygulamayı dağıtma çalışma işlemlerini yaptırabilmek için özel olarak geliştirilmiş bir araçtır.  Bu araç üzerinden bir geliştirici söz konusu uygulamada ihtiyaç duyduğu tüm parçaları paketleyebilir. Bu parçaların tamamı tek bir paket olarak kolayca gönderilebilir.

Solomon Hykes tarafından geliştirilen Docker, bir anda popüler bir araç haline gelmiştir. Solomon Hykes tarafından programcıların üretim sırasında ve geliştirme sırasında eş zamanlı çalışma yeteneği olan bir kod bulma girişimi Docker Container geliştirilmesini sağlamıştır.

Bu yazımızın devamında Docker nedir, Docker Container nasıl oluşturulur gibi soruların cevabını  vereceğiz.  Öncelikle Docker terimi ile yazımızı sürdürelim;

Docker Nedir, Ne İşe Yarar?

Docker yazılım geliştirici ve sistemcilerin çalışmaları için özel olarak geliştirilen açık kaynak kodlu bir sanallaştırma aracıdır.  Docker kullanarak Windows, Linux ve Mac üzerinde Linux ve Windows sanal makineleri kolaylıkla çalıştırabilirsiniz. Bu aracı kullanarak web sistemlerini kurabilir, kurduğunuz sistemlerin çalışma testlerini ve dağıtımını gerçekleştirebilirsiniz.

Kısaca herhangi bir uygulamanın bir platformda çalışıp diğer platformda çalışmaması sorununa karşı doğru bir çözümdür.  Docker yazılım geliştirme alanında tüm süreçlerde devrededir. Ancak en temel işlev olarak Docker Container’lar dağıtım işlemlerinde kullanılır.

Docker Container Nasıl Oluşturulur?

Docker Container çalışmasına başlamadan önce VPS sunucunuza erişmeniz gerekir. Sunucuya erişirken SSH kullanmanız gerekiyor.

Öncelikle sizlere sistemde kullanabileceğiniz bazı komutları verelim;

    • Sisteminizde yer alan tüm Docker imajlarınızı “sudo docker images” komutuyla listeleyebilirsiniz.
    • Ekstra bir bilgi görüntülemek istemeyenler için de “sudo docker images – help” komutu kullanılabilir.

Kurulum aşamasının başında sistemde bir Docker imajı yer almayacak. Bunun için öncelikle bir imaj indirmeniz gerekiyor.  İmaj indirmek için Docker dağıtıcısına giriş yaparak bulunan imajların tamamını inceleyebilirsiniz.

Docker imajı örneği

Alpine Docker

Biz imaj için Alpine imajını tercih ettik. Sizler de farklı imajlar için imaj sayfasındaki listeyi inceleyebilirsiniz.

İmajı indirirken “docker pull <imaj adı>” komutunu kullanabilirsiniz.

İmaj ismi kısmında birçok özel dağıtıcıda kullanılan çok sayıda imajı kullanabilirsiniz.   Buraya kadar sizlere Docker Container oluşturmak için imaj indirme sürecini anlattık.  Bu süreçten sonra çalışma için gerekli adımları izlemeye başlayabilirsiniz. Öncelikle size bir imajı çalıştırmak için izlemeniz gereken yolu anlatacağız.

Bir imajı çalıştırdığınız anda imaj üzerinden bir container oluşturmuş olursunuz.  Sizin  için Alpine imajını çalıştıracağız.   Bir  Docker Container oluşturmak istiyorsanız “docker run <imaj_adi>” komutunu kullanabilirsiniz.

Komut satırına “Docker run <alpine>" yazarak komutu çalıştırmayı deneyeceğiz.  Bu komutu yazdığımız anda Container oluşturmuş olduk.  Ancak henüz başlatılamadığını belirtelim.  Başlama işlemini yapabilmek için “docker run --name Containerim -it alpine bash” komutunu girmemiz gerekiyor.

Bu işlemi yaptıktan sonra terminal penceresi açmayı başarabilirsiniz. Daha sonra sunucuya SSH kullanarak erişebilirsiniz.   Burada “sudo docker ps –a” komutunu kullanabilirsiniz.

Çalıştırdığınız container’ı durdurmak istiyorsanız “sudo docker stop Containerim” komutunu kullanabilirsiniz.

Bu süreçte kullanabileceğiniz diğer komutlar şöyledir;

  • “docker top <container ID'si veya adı>” komutu size bir container’de en üst işlemi görme şansı sunacaktır.
  • “docker stats” komutunu kullanarak da bir container’deki CPU ve hafıza kullanımına ait istatistikleri takip edebilirsiniz.
  • “sudo docker kill Containerim” komutu ile de Docker Container sonlandırabilirsiniz.

Bitirirken

Buraya kadar sizlere bir Docer Container’i nasıl oluşturabileceğinizi ve nasıl kullanmaya başlayabileceğini gösterdik.  Bir geliştirici olarak kullanabileceğiniz en fonksiyonel araçlardan biri Docker olacaktır. Hiçbir sorun yaşamadan bir test ve dağıtım işi yapabilir ya da uygulama geliştirme için iş akışınızı hızlandırabilirsiniz.

Daha detaylı bilgi almak istiyorsanız Docker Container resmi kılavuzunu okuyabilirsiniz.

Bir cevap yazın

Language »