Skip to main content

How to run Spring Boot application inside docker container

Step by Step procedure in creating and running a simple Spring Boot application inside docker container

This tutorial will show you on how to run simple Spring Boot application inside docker container.
If you have not installed docker already, please install it first. I'm using Linux Mint 18.2. You can follow these steps on How To install Docker in Linux Mint 18.2
After you've successfully installed docker in your machine, let's create a docker image that will run inside the container.
  • Create a simple Spring Boot project from here. Select Web as a dependency.
  • Import the project into you IDE, I'm using Spring Tool Suite.
How to run Spring Boot application inside docker container
  • Create a controller and name it HelloController. You can name your controller anything you like.
  • Create a method that will map the request and return a response.
How to run Spring Boot application inside docker container
  • Create Dockerfile at the root of the project. The name is important here, only the letter D is capital
  • Make the following entries inside the Dockerfile
#Enter all the required docker image. In this example, we'll use openjdk
FROM <docker image name:port number >
#add the jar and define the location of the created jar
ADD <jar source> <target source>
#Expose the application port
EXPOSE <port number>
#command to execute the application
ENTRYPOINT ["java", "-jar", "<jar name.>"]

#Enter all the required tools like java, mysql, redis etc inside Dockerfile
FROM openjdk:8
ADD target/docker-boot-demo.jar docker-boot-demo.jar
EXPOSE 9000
ENTRYPOINT ["java", "-jar", "docker-boot-demo.jar"]
How to run Spring Boot application inside docker container
  • Change the port number in application.properties file
server.port=9000
  • Define simple application name inside pom.xml using <finalName> tag
<build>
    <plugins>
 <plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
 </plugin>
    </plugins>
    <finalName>docker-boot-demo</finalName>
</build>

Build the docker image
#In terminal, navigate to the project folder and build the image using the following commands
docker build -f Dockerfile -t <docker image name> <location>
docker build -f Dockerfile -t docker-boot-demo .
Check if docker image is created by entering the following command
docker images
How to run Spring Boot application inside docker container
Run the application
docker run -p <port defined in application>:<port exposed from machine> <image name>
docker run -p 8081:9000 docker-boot-demo
How to run Spring Boot application inside docker container
Open the web browser and check if everything is working fine.
How to run Spring Boot application inside docker container

Comments

Popular posts from this blog

Spring Security with Spring Boot and MySQL

Spring Security with Spring Boot and MySQL In this tutorial I'll show how to use Spring Security with Spring Boot and MySQL. We'll implement a UserDetailsService provided by Spring Security. It is easy to configure Spring Security with Spring Boot and MySQL. You can also check how to run Spring Boot application inside docker container Steps: 1. Create a Spring Boot project from start.spring.io with following dependencies in your pom.xml file. You can choose gradle also for project dependencies. <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- dev tools for hot reloading --> <dependency> <groupId>org.springframework.b...

How To install Docker in Linux Mint 18.2

How To install docker in Linux Mint 18.2 Codename: sonya Docker is a Container as a service (CaaS) platform which helps to eliminate "works in my computer" problems when working together with other members in the team. More here Docker for Linux Mint is availabe as a free Community Edition (CE). Installation is easy and straigh forward. We will install a stable release of docker. OS Requirements Linux Mint 18.2 (LTS) Architecture: x86_64 If you've the older version installed already, uninstall it $ sudo apt-get remove docker docker-engine docker.io Add repositories $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Since, Linux Mint 18.2 (sonya) is based on Ubuntu 16.04 (xenial), we've to use the release codename of Ubuntu 16.04 i.e. xenial. Also, we'll use the latest stable version $ sudo add-apt-repository "deb [arch=a...