example-docker-compose-01 icon indicating copy to clipboard operation
example-docker-compose-01 copied to clipboard

example nginx/tomcat - spring boot

example-docker-compose-01

Example docker containers composed of Nginx and Spring Boot Java application

application nginx

docker-compose

Launches two containers - for nginx, JVM; that can be configured for local and production use.

Required docker configuration files:

/docker-compose-base.yml - Shared config that can be extended 
/docker-compose-devl.yml - Localhost deploy 
/docker-compose-prod.yml - Cloud provider deploy 
/nginx/DockerFile - static file
/application/build/docker/DockerFile - generated docker file 
cd application

Generates java docker file

./gradlew createDockerFile

docker-compose.yml is the default filename when --file is not specified.

docker-compose --file docker-compose-devl.yml build
docker-compose --file docker-compose-devl.yml up      # -d can be appended for detached process

Production environment

docker-machine create a docker host on a vm, openstack provider, carina etc

docker-machine create --driver yourprovider springboot

2 mins later...

docker-machine env springboot
docker-compose --file docker-compose-prod.yml up -d

Carina

Using Carina - https://app.getcarina.com/app/signup

export CARINA_USERNAME="[email protected]"

export CARINA_APIKEY="abc..."

carina create cluster001 --wait --nodes=1

carina credentials cluster001

eval $(carina env cluster001)

env | grep DOCKER

docker-compose --file docker-compose-prod.yml up -d