Why Should I Use A Docker Container? 🤨
-  They are a great replacement for Virtual Machines.
- Why?
- VMs are big in size (Gigabytes) and slow to run (1-5 mins).
- Containers on the other hand:
- Use a shared operating system, this means you can leave behind the useless 99.9 percent VM junk.
 
 - They are Linux processes that are isolated from each other.
 
 - Containers on the other hand:
 
 - VMs are big in size (Gigabytes) and slow to run (1-5 mins).
 
 - Why?
 
Containers enable us to easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere.
Containers are easy to deploy in the cloud.
Why Should I Wrap My App In A Docker Container 🤓
Well, to give our app all the benefits we've just described.
How To Do It? 👀
First, create a JAR file from your application.
Given that you are using Maven, run the following command in the pom.xml file directory
mvn clean package
This will create a target directory, in which you can find your JAR file.
Then, create a Docker image using the JAR file we've just created.
Start by creating a file named Dockerfile
FROM openjdk:8  
ADD target/demo-0.0.1-SNAPSHOT.jar demo-0.0.1-SNAPSHOT.jar  
EXPOSE  8085  
ENTRYPOINT java -jar -Dspring.profiles.active=dev demo-0.0.1-SNAPSHOT.jar
This means ☝️
Using the OpenJDK’s Java 8 machine (FROM)
Add this JAR to Docker’s host and name it demo-0.0.1-SNAPSHOT.jar (ADD)
Expose this app at port 8085 (EXPOSE)
And start the application using this command (ENTRYPOINT)
Then build the Docker image
 docker build -t demo .
This means ☝️
- Build an image and give it the tag demo.
 - Look for the 
Dockerfilein the current directory. 
Finally, run the image.
docker run -p 8080:8085 demo
This means ☝️
- Run the image called 
demo, and map the requests coming from the host machine on port 8080 to the Docker port 8085. 
How To Send Requests To Our App Inside Docker? 🤩
Simply send the requests local host on the port we've specified http://localhost:8080/ and they will mapped to the port 8085 inside Docker which will lead to our app.
Last Words ✍️
The Docker world is a wonderful and big place, I recommend you diver deeper into it. 
Check out those great resources.
Full YouTube Tutorial💎
Dockerizing a Spring Boot Application⚓️
              
    
Top comments (2)
I would strongly suggest you to go through spring gradle/maven plugins reference guide to familiarize yourself with proper way of dockerizing spring boot application.
Will do thanks for the suggestion