Book Image

Mastering Spring Boot 2.0

By : Dinesh Rajput
Book Image

Mastering Spring Boot 2.0

By: Dinesh Rajput

Overview of this book

Spring is one of the best frameworks on the market for developing web, enterprise, and cloud ready software. Spring Boot simplifies the building of complex software dramatically by reducing the amount of boilerplate code, and by providing production-ready features and a simple deployment model. This book will address the challenges related to power that come with Spring Boot's great configurability and flexibility. You will understand how Spring Boot configuration works under the hood, how to overwrite default configurations, and how to use advanced techniques to prepare Spring Boot applications to work in production. This book will also introduce readers to a relatively new topic in the Spring ecosystem – cloud native patterns, reactive programming, and applications. Get up to speed with microservices with Spring Boot and Spring Cloud. Each chapter aims to solve a specific problem or teach you a useful skillset. By the end of this book, you will be proficient in building and deploying your Spring Boot application.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Dockerizing any Spring Boot application


In this section, I'll focus on how to dockerize a Spring Boot application (Account-Service) to run in an isolated environment, which is a container. In the previous chapters, we have created some microservices, such as Account-Service and Customer-Service. Now I will describe the process of migrating a Spring Boot Account-Service to Docker. We will start by modifying a build file, then we will create Dockerfile so it can be run locally.

So let's go ahead and create Dockerfile in our Spring Boot project:

#This is a Dockerfile for a microservice application 
 
# Use an official Java 8 runtime as a parent image 
FROM maven:3.5-jdk-8-alpine 
 
VOLUME /tmp 
 
#Set maintainer email id 
MAINTAINER [email protected]  
 
# Set the working directory to /app 
WORKDIR /app 
 
# Copy the current directory contents into the container at /app 
ADD . /app 
 
# Build and create jar using maven command 
#RUN mvn package -DskipTests=true -Ddir=app 
 
# Copy the current...