My Profile Photo

Mehmet Cem Yücel


Technical Writings.
Architecture, Security, Java, Golang, Devops, Microservices, Spring Boot, Kafka, Distributed Systems and Blockchain


Spring Boot Projesini Maven ile Dockerize Etmek

Bu yazımızda Spotify Maven Plugin’ini kullanarak Spring Boot projemizden Docker imajımızı yaratacağız.

Dockerize with Maven

1. Yapılandırma

Projemizin pom.xml dosyasındaki build konfigürasyonuna pluginimizi ekliyoruz.

Yapılandırma sonrası proje dizinimizde maven’a mvn clean package docker:build komutları vererek bizim için imajımızı oluşturmasını sağlıyoruz. Eğer Windows 10 kullanıyorsanız aşağıdakine benzer bir hata ile karşılaşabilirsiniz.

[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.5:build (default-cli) on project mcy-sb-dockerize-with-maven: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.conn.HttpHostConnectException: **Connect to localhost:2375** [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: **Connection refused**: connect -> [Help 1]

Bunun sebebi Docker Deamon’ın default ayarlarında güvenlik sebebiyle 2375 nolu portuna erişimi TLS enabled olarak sağlamasıdır. Bunu aşmak için Docker’ın yapılandırmalarına girip General>>Expose daemon on tcp://localhost:2375 without TLS kutucuğunu seçili hale getirebilirsiniz.

Bu işlemleri tamamladıktan sonra base imaj olarak seçtiğimiz java imajının layerları bilgisayarımızda yoksa indirecek ve imajımız oluşacaktır. Dilerseniz pom.xml deki plugin’in configuration kısmında daha fazla detaylar ile özelleştirme yapabilirsiniz veya projenizin root dizininde konumlandıracağınız Dockerfile aracılığıyla build’in alınmasını sağlayabilirsiniz.

2. Sonuç

Bu işlem sonrasında docker images komutu ile imajınızın yaratıldığını görebilirsiniz.

REPOSITORY                  TAG    IMAGE ID     CREATED        SIZE  
mcy-sb-dockerize-with-maven latest 10c6c96315ff 2 seconds ago 143MB



May interest this topics

If you interested in Blockchain Technologies,


comments powered by Disqus