Dockerizing spring boot gradle app

Make sure your gradle project has gradle.properties file like in working directory :

systemProp.https.proxyHost=proxy.company.net
systemProp.https.proxyPort=8080
systemProp.https.proxyPassword=
systemProp.http.proxyHost=proxy.company.net
systemProp.http.proxyPort=8080
systemProp.http.proxyPassword=
systemProp.https.nonProxyHosts=*.company.com|localhost
org.gradle.java.home=C\:\Program Files\Java\jdk-17.0.1

Open command prompt and move to project working directory

Run command:

.\gradlew build

then

.\gradlew bootRun

This insure is project can be built and run using gradle.

Now create dockerfile like below:

FROM eclipse-temurin:17-jdk-jammy

ENV APP_HOME=/cricket-demo-bot-build/
WORKDIR $APP_HOME

RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install unzip && \
DEBIAN_FRONTEND=noninteractive apt-get clean

RUN wget -q https://services.gradle.org/distributions/gradle-7.4.2-bin.zip \
&& unzip gradle-7.4.2-bin.zip -d /opt \
&& rm gradle-7.4.2-bin.zip

COPY ../../../libraries/gradle-7.4.2-bin /opt/

WORKDIR $APP_HOME

ENV GRADLE_HOME /opt/gradle-7.4.2
ENV PATH $PATH:/opt/gradle-7.4.2/bin

COPY build.gradle settings.gradle $APP_HOME
COPY gradlew $APP_HOME/gradlew

RUN apt-get update && \

apt-get install dos2unix && \

apt-get clean

RUN dos2unix gradlew

RUN ./gradlew build || return 0
COPY . .
RUN ./gradlew clean build

COPY src ./src

CMD ["./gradlew", "bootRun"]

Also create .dockerignore file:

target

Now after installing docker software on your machine, use below command:

docker build --tag java-docker .

So, this is how we create docker image of spring-boot app and deploy on docker.

Leave a comment

I’m Omkar

Welcome to Tech Blog.