02.03. Dockerfile ve build işlemi

Dockerfile, Docker konteynerlerinin oluşturulması ve yapılandırılması için kullanılan komutları içerir. Bu komutlar, container’ın nasıl oluşturulacağını, nasıl yapılandırılacağını ve çalıştırılacağını belirtir.

Bir image üzerinden container ayağa kaldırıldıktan sonra birçok ayarlama yapılır. Bu ayarları her seferinde yapmak büyük bir zaman kaybı oluşturur. Dockerfile sayesinde bu ayarlamalar otomatikleştirilmiş olur. Direkt basit bir örnek üzerinden anlatalım. Bir klasöre Dockerfile adında bir dosya oluşturalım. Bu Dockerfile dosyasına aşağıdaki satırları ekleyelim. Farklı text editörleri kullanabilirsiniz. (Ben Visual Studio Code) ve bu ortamdaki terminal üzerinden çalıştırmaları yaptım.)

Kısaca yapılan işlemleri açıklayalım.

  • İlk satır yorumdur. # komutu yardımıyla Docker Dosyasına yorum ekleyebilirsiniz. Tavsiye olunur 🙂
  • FROM ile başlamalıyız. Bu bölüm hangi docker image’ini kullanacağımızı gösterir. Burada “:” kullanılıp image’in türü belirlenebilir. Hiçbir şey yazılmadığında default image kullanılmış olur.
  • RUN komutu çalışacak komutları belirler. Burada Ubuntu güncellemesi yapılmış ve ardından ngnix sunucusu ubuntu içine kurulmuştur. -y kurulum yapılırken kullanıcıdan beklenen her girdinin “evet” olarak işaretlenmesi anlamına gelir.
  • Son komut, CMD ile echo komutu çağrılmış ve bir parametre (“Image yaratıldı.”) gönderilmiştir. Ekrana bu yazıyı basar.

Dosyamızı kaydetmeyi unutmayalım. Kaydetmeden sonra aşağıdaki komutlar ile image’i oluşturabiliriz.

docker build komutu ile Dockerfile üzerinenden kendimize bir image oluşturabiliriz. Bu komut aşağıdaki parametreleri alır.

docker build -t ImageName:TagName dir

Burada

  • -t: image’e bir etiket için kullanılır.
  • ImageName – Image’inize isim vermek için kullanılır.
  • TagName – Image’inizin etiket ismi için kullanılır. (versiyon, slim versiyon için kullanışlı)
  • Dizin – Docker Dosyasının yolunu verir. “.” ile geçerli klasör verilebilir.

Terminal ekranından Dockerfile dosyamızı build yapalım. Ben Dockerfile ile aynı klasörde olmayı tercih ettim. (Daha az kod yazmak için) Sonuç:

docker images komutu ile image’in yaratılıp yaratılmadığını kontrol edebiliriz.

Tebrikler, ilk image’nizi yarattınız.