SPRİNG MVC PROJESİ VE DOCKER’A YÜKLENMESİ
Merhabalar 🙋♀️ Daha önce ki yazımda sizlere docker’ın ne olduğundan bahsetmiştim.
Bir önceki bölüm ➜ Docker Nedir? Nasıl Kullanılır?
Bu yazımda da sizlere Spring mvc ile basic crud işlemlerini içeren proje yapımından, thymeleaf kullanımından ve docker’a yüklenmesinden bahsedeceğim. Keyifli okumalar 👩💻
Proje Demo;
İlk olarak Spring Initializr sayfasına gidip projemizi oluşturuyoruz. Ve dependencies kısmından gerekli bağımlılıkları projemize dahil ediyoruz. Generate butonumuz tıkladıktan sonra inen projeyi kullanacağımız ideye import ediyoruz. (Ben basic bir proje olduğu için H2 veritabanını kullandım, sizler istediğiniz veritabanını kullanabilirsiniz.)
Projemize sol tarafta görüldüğü şekilde paketlerimizi ve sınıflarımızı ekliyoruz. (Sınıflarınızı şu sıra ile kurabilirsiniz; Entity-> Repository->Controller->html sayfaları)
Dilersek kodları aşağıda ki github linkten kopyalıyoruz ve sınıflarımızın, html sayfalarımızın içerisine yapıştırıyoruz 🤭
Proje GitHub linki: https://github.com/Buse5/SpringMvcAndDocker
Sıra projemizin ayarını vermekte ; Burada server.port projemizi run ettiğimizde hangi portta çalışacağını söyler. (Ben 8090 seçtim, siz farklı seçebilirsiniz.). Projeye hangi database driver ile çalışacağını söylüyoruz. Ve kullanıcı adı şifre kısmını burada belirtiyoruz.
Tabi ki database bağlantımızı ihmal etmiyoruz. Sağ tarafta ki işaretli kırmızı + butonuna basarak H2 database buluyoruz ve sıralamayı takip ediyoruz. 2. aşamada application.properties.url de yazdığımız kısmını yapıştırıyoruz. Aksi taktirde bağlantınız sağlanmayacaktır!!
Bunlar dışında ek bir konfigürasyona ihtiyaç duymayacaksınız.
ŞİMDİ GELELİM DOCKER’A YÜKLEME KISMINA ;
Öncelikle proje dizinimize solda görüldüğü gibi uzantısı olmayan ‘Dockerfile’ adında bir dosya ekliyoruz. İçerisine aşağıda göründüğü şekilde kodlarımızı ekliyoruz. Burada dikkat edilmesi gereken nokta kırmızı ile işaretlenen alanların pom.xml de yer alan proje adınız-versiyon şeklinde
olmalıdır. Yani
;pom.xml dosyasında proje ismim demo, ve versiyonum 0.0.1-SNAPSHOT. O halde jar
filem;
demo-0.0.1-SNAPSHOT.jar şeklinde olmalıdır.
Bu işlemden sonra artık paketleme işlemine geçebiliriz.
Yanda görüldüğü gibi Maven sekmesini açıyoruz ve ardından package üzerine çift tıklıyoruz. Bu sırada projemiz paketleme işlemlerini yapmaya başlıyor.
Paketleme işlemi bittikten sonra docker desktop’u bir yandan açarken, diğer yandan da proje içerisinde terminale giriyoruz..
İlk olarak giriş işlemi için;
docker login
komutunu çalıştırıyoruz. Başarılı dönüşünü aldıktan sonra aşağıda ki build ve push komutlarımızı da çalıştırıyoruz. (Burada kendi docker idnizi ve proje isminizi girmeniz gerekiyor!!) Bu işlemlerin ardından docker image oluşmuş oluyor.
docker build -t dockerid/demo:1.0 .
docker push dockerid/demo:1.0
Yukarıda görüldüğü gibi docker desktop’a girdiğimizde imagemizi artık görebiliyoruz. Son bir işlem kaldı bu da docker’ı run etmek. Burada 8090 rakamları, bizim application.properties kısmında projemizin çalışması için verdiğimiz server.port ile aynı olmak zorundadır.
docker run -p 8090:8090 dockerid/demo:1.0
Yukarıda görüldüğü üzere projemiz artık bir docker container içerisinde yaşıyor.. Open in browser seçeneğine bakarak projenizi çalışır hale getirip görüntüleyebilirsiniz.
Bu yazımda anlatacaklarım şimdilik bu kadar. Bilgi paylaştıkça çoğalır. Öğrendikçe paylaşmaya devam edeceğim 😊
Yazımı faydalı bulduysanız aşağıda ki alkış butonuna çökmeye ne dersiniz 👏 👼
GITHUB LINK 👉 👉 👉 https://github.com/Buse5