Spring Boot Uygulaması ile Dockerize Çalışması
Herkese merhabalar,
Bu yazımızda bir Spring Boot uygulamasını Docker ile uyumlu hale getirerek Docker üzerinden çalıştırmayı deneyeceğiz.
Zaman kaybetmeden başlayalım. Docker bildiğiniz gibi bir sanallaştırma teknolojisiydi. Open Source bir container teknolojisidir. Yani sizler de Docker için kod geliştirip bunu herkesle paylaşabilirsiniz. Docker ile ilgili geniş yazılarımızda bunlara yer veririz.
start.spring.io adresine gidelim ve bir spring boot projesi oluşturalım.

Dependencies kısmında ben Spring Web bağımlılığını ekledim. Siz de kolaylık açısından ekleyebilirsiniz.
Uygulamamızı IDE’mizde açtıktan sonra ilk işimiz uygulamamızın bulunduğu dizinde bir dosya oluşturmak. Bu dosyamızın ismi Dockerfile olacak. Dockerfile olmak zorunda !!!

Yukarıda bir Dockerfile dosyası oluşturduk ve içine komutlarımızı yazdık. Komutların ne anlama geldiği de yorum satırında açıklanmıştır. Bu komutların dışında Dockerfile olarak kullanabileceğimiz birçok komut mevcuttur.
Şimdi bir Controller oluşturalım ve içine örnek bir metot yazalım.

Şimdi de uygulamamızın bulunduğu dizine gelelim, isterseniz powershellden , ide’nizin terminalinden veya cmd den aşağıdaki komutu çalıştıralım.
docker build -t İMAGEADİ -f Dockerfile .
Bu komutta bir image üretilecek. -t komutu İMAGEADİ dediğimiz yer için adını temsil eder. -f ile Dockerfile komutunu işaret ederiz.
Bu komut sonrasında imajımız oluşmaya başlar gerekli dosyaları indirir ve imaj dosyası bizim istediğimiz ayarlara göre oluşturulur.
docker images
Yukarıdaki komutu çalıştıralım.

Göründüğü üzere imajım hazır. İmajımın adı dockerdemo.
Şimdi;
docker run -p 9990:8080 dockerdemo
Docker imajımızı çalıştırdık -p komutu ile 9990 portunda çalışan docker imajındaki projemizin portunu eşleştirmiş olduk.
Tarayıcımıza localhost:9990 yazarak uygulamamızı çalıştırabiliriz.
Bugünkü yazımızın sonuna geldik. Herkese iyi çalışmalar diliyorum. Bizi http://latestsoftwaredevelopers.com/ adresinden de takip edebilirsiniz. Docker ile ilgili yazılarımızın devamı da gelecek. Şimdilik iyi günler.