Overview

Here we will deploy a Java Spring Boot Docker application into AWS infrastructure

Create a VPC

Create a VPC first as described here

EC2

Create an instance and associate an elastic IP address here

Docker

Install Docker for Amazon Linux 2

sudo amazon-linux-extras install docker

Start the docker

sudo service docker start

Add the ec2-user to the docker group so you can execute Docker commands without using sudo.

Logout and login for the permissions to be applied and verify

docker info

Spring Boot Application Docker Image

[ec2-user@ip-10-0-0-64 ~]$ docker pull logicalsapien/joan

Start the container with Spring Boot App

docker run -d -p 8080:8080 logicalsapien/joan

Testing the App using the public IP

http://3.221.227.151:8080/jobsearch/averagesalary?country=gb&jobName=HGV%20Class%201%20Drivers

http://ec2-3-221-227-151.compute-1.amazonaws.com:8080/jobsearch/averagesalary?country=gb&jobName=HGV%20Class%201%20Drivers

Setting Up Auto scaling

Please refer here to setup an AWS autoscaling