Skip to content
Related Articles

Related Articles

Containerizing Java applications | Creating a Spring Boot App using Dockerfile
  • Last Updated : 20 Nov, 2019

The goal of this article is to containerize a Java application easily, by creating a Spring Boot App using Dockerfile.

The steps will be as follows:-

  1. Setting up a spring-boot app
  2. Creating a dockerfile
  3. Building project jar
  4. Building docker image by using dockerfile
  5. Running image

Let’s examine the above steps in detail:

  1. Setting up spring-boot app: So first of all, use spring initializer to have a very basic spring-boot greetings project with the help of a web dependency.

    The project includes a simple rest controller with a simple greeting message.

    To run this app use command:

    mvn spring-boot:run
  2. Creating A Dockerfile: A dockerfile is a text document which contains commands read by docker and is executed in order to build a container image.

    • FROM: The keyword FROM tells Docker to use a given base image as a build base. In this case Java8 is used as base image with jdk-alpine as tag. A tag can be thought as a version.
    • COPY: copying .jar file to the build image inside /usr/app.
    • WORKDIR: The WORKDIR instruction sets the working directory for any RUN, CMD, ENTRYPOINT, COPY and ADD instructions that follow in the Dockerfile. Here the workdir is switched to /usr/app
    • RUN: The RUN instruction runs any command mentioned.
    • ENTRYPOINT: Tells Docker how to run application. Making array to run spring-boot app as java -jar .jar.
  3. Building Project Jar: Now run mvn install to build a .jar file in target directory.
  4. Building Docker Image: Excecute command docker build -t spring-boot-docker-demo .

  5. Run the image build: Execute command docker run spring-boot-docker-demo

Github repository: Spring Boot Docker Demo

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :