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

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