Spring Boot Docker Container Örneği

Bu yazımızda Spring Boot ile geliştirilmiş web tabanlı bir uygulamayı nasıl dockerize edebileceğimizin notunu düşelim.

Linux dağıtımlarından herhangi birisine spring boot ile geliştirdiğiniz paketi /tmp/hello-world dizinine atın. Uygulamamızın adına hello-world-0.0.1-SNAPSHOT.jar diyelim.

Öncelikle Dockerfile‘ımızı yazalım:

FROM openjdk:8-jdk-alpine

VOLUME /tmp/hello-world

# çıkış portunu belirtelim
EXPOSE 8080

ARG JAR_FILE=hello-world-0.0.1-SNAPSHOT.jar

# uygulamayı container'a yazıyoruz
ADD ${JAR_FILE} hello-world.jar

# Container ayağa kalktığında uygulamamızı çalıştırıyoruz 
ENTRYPOINT ["java","-jar","hello-world.jar"]

Dockerfile’ı hazırladıktan sonra docker image’ımızı build etmeliyiz.

docker build -t hello-world-app .

-t: tag

Image’ı build ettikten sonra aşağıdaki komutla görüntüleyebiliriz.

docker images

Son olarak build ettiğimiz image’dan container ayağa kaldıralım.

docker run -p 9090:8080 hello-world-app

9090:8080 -> burada container’ın dinlediği 8080 portunu 9090 ile map ettik. Yani dışarıdan erişmek istediğinizde http://ip:9090 şeklinde erişmeniz gerekmektedir.

Ayağa kaldırdığınız container’ı görüntülemek isterseniz:

docker container ls

yada 

docker ps

komutlarını çalıştırabilirsiniz.

Not: Open jdk yerine Oracle jre kullanmak isterseniz https://store.docker.com/  ‘dan bir account açmanız gerekmektedir.

Hesap açıldıktan sonra konsoldan docker login komutunu çalıştırıp username ve passwordunuzu girmeniz gerekiyor.

> docker login

username: *****

password: *****

Login olduktan sonra Dockerfile’da

FROM openjdk:8-jdk-alpine

yerine

FROM store/oracle/serverjre:8

yazmalısınız.

Ardından yeni bir image build edip container’ınızı ayağa kaldırabilirsiniz.

Tüm soru ve görüşleriniz için tıklayınız.