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