Docker Mes’elesi Ve Tüm Gerçekler

2 minute read

Docker’la alakalı bir malumat bombardımanına hazır mısınız?

Peki bu postta neler olacak?

  • Docker komutları (çoğunluk)
  • Komutların açıklamaları (Kısmet)
  • Ve garip kont

haydi başlayalım…

Docker Aksiyonlar ve Komutları

Docker İmajı İndirmek

Örneğin docker içerisine kurulmuş postgres imajına ihtiyacımız oldu (yani postgresql kullanmamız gerekmiş oluyor bu durumda). Bunun için google’a “docker postgres image” yazıyoruz ve ilk link olarak dockerhub’da docker içine kurulu postgres’in linki çıkıyor. İndirmek için gereken komut orada yazıyor ama biz buraya da yazalım ;

$ docker pull postgres

(İndirilen programın büyüklüğüne ve internet hızınıza göre indirme işlemi biraz zaman alabilir.)

Docker İndirilen İmajı Çalıştırmak (Konteynırı Ayağa Kaldırmak)

Evet bir önceki adımda imajımızı indirmiştik. Şimdi bu imajı nasıl çalıştıracağımıza bakalım. Örnekleri postgres imajı üzerinden verdiğimi hatırlatmak isterim. Hemen komuta geçelim ve sonrasında açıklamasını yapalım ;

$ docker run --name postgres-test --rm -e POSTGRES_PASSWORD=1234 -p 5432:5432 -d postgres

Daha iyi kavramak ve ileride unutursam tekrar bakabilmek için öğrenmeyle eş zamanlı olarak yazıyorum bu yüzden parametrelerin hepsine tam vakıf olamayabilirim. Kusura bakılmasın. Öğrendikçe postu editlemeyi umuyorum.

Her neyse, kısaca açıklayalım :

  • docker run, bir docker imajını çalıştırırken kullandığımız temel komut.
  • –name postgres-test ,bu parametre ile bu imajı kullanarak ayağa kaldırdığımız konteynırın ismini vermiş olduk. Görüldüğü gibi ismi postgres-test oldu

ÖNEMLİ: Aynı imajdan kullanılarak birden fazla konteynır üretilebilir. Bunların isimleri farklı olmalıdır.

-–rm parametresi, bu konteynır durdurulduktan sonra konteynırın çalışmış veya durdurulmuş tüm konteynırları içeren listeden silinmesini sağlar. Eğer bu parametreyi vermeden çalıştırırsak konteynır o listede kayıtlı durur ve sadece ismiyle tekrardan çalıştırılabilir. (Daha ayrıntılı bilgi aşağıdaki konteynırı silme başlığında verilmiştir.)

  • -e POSTGRES_PASSWORD=1234 , kısmında ayağa kaldırdığımız konteynır için postgresql şifresini belirledik. -e kısmı bir environment variable parametresi girileceğini belirtiyor.

  • -p 5432:5432 kısmında, kendi işletim sistemimizin postgres konteynırıyla iletişime geçmek için kullanacağı portla , konteynırın dışarı expose ettiği portun numaralarını eşleştirdik. Bu parametreyi eklemeden DataGrip’ten postgres konteynırına bağlanmaya çalıştığımda hata almıştım. Mühim bir parametredir.

  • -d postgres kısmında postgres imajımızı detach modda çalıştırdık. Bu modla alakalı bilgi için ıspanak kelimesinin üzerindeki linke gidebilirsiniz. Bu mod kısaca konteynırı terminalin arkasında yani backgroundda çalıştırmaya yarıyor. Böylece bizim terminalimizi meşgul etmez, biz de o tabı kullanmaya devam edebiliriz. Aksi durum ise o tabın ayağa kalkan konteynır tarafından logları göstermek için kullanılması.

Bazı environment variableler bizim değer atamamamız durumunda default değerler alırlar. Örneğin postgres konteynırında veritabanı şifresi atadık fakat veritabanı ismi atamadık. Bu durumda veritabanı isim default olarak postgres oldu.

Konteynırı Durdurmak

$ docker container stop postgres-test

Anlaşıldığı üzere postgres-test ismindeki çalışan konteynır durdurulur.

Durdurulmuş Konteynırı Yeniden Başlatmak

$ docker start postgres-test

ISSIZ BİR ADADA BİR GÜN GEÇİRMEK!! Şaka şaka, Konteynırı Silmek

$ docker rm postgres-test

Durdurulmuş bir konteynır tüm zamanların en efsane konteynırları listesinden çıkartılmış olur.

Peki bu ne işimize yarar ?

Daha önce durdurduğumuz bir konteynırla aynı isimde fakat farklı environment variablelar set ederek yeni bir konteynır çalıştırmak istediğimizi düşünelim. Öncekini silmediğimiz için aynı isimle çalıştırmaya kalktığımızda docker bu arkadaş zaten listede var hatası verecektir. Bu komut sayesinde konteynırı listeden kaldırmış oluruz.

Ayaktaki Konteynırları Göstermek

$ docker ps

Sadece o an çalışan konteynırleri gösterir.

Durdurulmuş Fakat Silinmemiş Konteynırları Göstermek

$ docker ps -a veya docker ps --all

O zamana kadar oluşturulmuş, durdurulmuş veya çalışan fakat kaldırılmamış tüm konteynırleri gösterir.

Leave a comment