Skip to main content

Posts

Showing posts from February 10, 2019

Docker - Containerizing Spring Boot Application

Greetings!

It is easy to containerize our spring boot application using docker. Let's begin.

Source code

Step 1:
Create a simple Spring boot application.
mvn clean package
Step 2:
Create Dockerfile
FROM openjdk:8-jdk-alpine VOLUME /tmp COPY target/spring-docker-0.0.1-SNAPSHOT.jar spring-docker-0.0.1-SNAPSHOT.jar ENTRYPOINT ["java","-jar","/spring-docker-0.0.1-SNAPSHOT.jar"]
Step 3:
Create a docker image using our Dockerfile
docker build -t spring-docker-1 .
Step 4:
Make sure our image is built.
docker images
Step 5:
Create a container using our Spring boot image.
docker container run -d -p 8080:8080 --name sd-1 spring-docker-1
Step 6:
Check logs to see whether it is started correctly.
docker logs sd-1
Step 7:
Go to web browser to see our app in action.
http://localhost:8080/
http://localhost:8080/echo

Awesome work! Now we have a running Docker container of our Spring boot application.

Docker - Mysql as a Container

Greetings!

How do you(we) run Mysql database in our development, QA or production environment? Install required packages, configure, open ports, monitor as necessary. So many things to do and it is repeating over all the environments. Why repeat when we have Docker!

First make sure you have installed Docker.
docker -v
Get the MySQL image Let's pull the Mysql image from the docker hub.
Official MySQL docker image
docker pull mysql
Make sure it is downloaded.
docker images
Creating the MySQL container Let's create a container from it and go inside.
docker container run -d -p 3306:3306 --name mysql-test -e MYSQL_ROOT_PASSWORD=secret mysql docker exec -it mysql-test bash
Now we are inside our mysql docker container. We can use all our mysql commands from here.
# mysql -uroot -p # Enter password:secret # create database docker-test
Type exit to exit from the container.

Inspecting the container Check and inspect our container to get more details.
docker container mysql-test ls docker conta…