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.
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.
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
Bu yazımız burada sona erdi, görüşmek üzere…
En yalın haliyle…
Mehmet Cem Yücel
Bu yazılar ilgilinizi çekebilir:
Spring Boot Devtools ile Docker Üzerindeki Kodu Debug Etme ve Değiştirme
Spring Boot ile SLF4J ve Log4J Loglama Altyapısı
Twelve Factor Nedir Türkçe ve Java Örnekleri
Blockchain teknolojisi ile ilgileniyor iseniz bunlar da hoşunuza gidebilir: