SlideShare a Scribd company logo
BELFAST JUG
SPRING BOOT & DOCKER
// NICE TO MEET YOU:
- HUDSON MENDES, 32
- ITALO-BRAZILIAN (BORN IN BRAZIL)
- HYBRID-CREATURE (JAVA AND .NET)
- BETWEEEN PYTHON AND RUBY? RUBY
- LOVE ANIME & _LOVE_ GUINNESS!
- BEEN A SOFTWARE ENGINEER SINCE 1999
BelfastJUG, Spring Boot + Docker
IF DEPLOYING SOFTWARE IS HARD, (…), THEN
DEVELOPERS WILL OFTEN BUILD EVERYTHING
INTO THE EXISTING APPLICATION IN ORDER TO
AVOID SUFFERING THE NEW DEPLOYMENT
PENALTY.
Karl Matthias, Docker: Up & Running
SPRING BOOT & DOCKER
DEVELOPING MICROSERVICES MUST BE EASY…

DEPLOYMENT MUST BE

EVEN EASIER!
Karl Matthias, Docker: Up & Running
AN ENGINEERING
PERSPECTIVE TO DOCKER
// TODO:
- overview on docker
- simple spring boot application (.jar)
- wrapped with Dockerfile, Gradle and Maven
- deployed to a repository, ran locally and ran remotely (ECS)
- in the build pipeline
- a glimpse of what matters from the docker ecosystem
AN ENGINEERING
PERSPECTIVE TO DOCKER
// TODO:
WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
OVERVIEW
SPRING BOOT &
DOCKER
SPRING BOOT & DOCKER
OVERVIEW
Source “8 surprising facts about Docker”

(https://www.datadoghq.com/docker-adoption/)
SPRING BOOT & DOCKER
OVERVIEW
Source Google Trends, compare Docker, Virtualisation, Angularjs

(https://trends.google.com/trends/explore?q=docker,virtualization,angularjs)
SPRING BOOT & DOCKER
OVERVIEW
SPRING BOOT & DOCKER
OVERVIEW
Source: “Performance on Docker vs VMs” (by Ali Hussain, Flex7)

(https://www.slideshare.net/Flux7Labs/performance-of-docker-vs-vms)
SPRING BOOT & DOCKER
OVERVIEW
SPRING BOOT & DOCKER
OVERVIEW
Must knows
‣ Conceptual evolution of LXC
‣ Not A VIRTUAL MACHINE
‣ Initial release: 2014
‣ Open API
‣ Now supports Windows
SPRING BOOT & DOCKER
OVERVIEW
SPRING BOOT & DOCKER
OVERVIEW
TOO LARGE TO GO THROUGH
SPRING BOOT & DOCKER
OVERVIEW
$ docker build
BUILD ENVIRONMENT
SPRING BOOT & DOCKER
OVERVIEW
$ docker build
$ docker images
BUILD ENVIRONMENT
SPRING BOOT & DOCKER
OVERVIEW
$ docker build
$ docker push
$ docker images
IMAGE REPOSITORY
BUILD ENVIRONMENT
SPRING BOOT & DOCKER
OVERVIEW
$ docker build
$ docker push
$ docker images
RUNNING ENVIRONMENT
IMAGE REPOSITORY
BUILD ENVIRONMENT
$ docker run
AN ENGINEERING
PERSPECTIVE TO DOCKER
// TODO:
WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
DEMO, SPRING BOOT
MICRO SERVICE
SIMPLEST .JAR
SPRING BOOT &
DOCKER
PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL
DOCKER IMAGE BUILT FROM GRADLE PLUGIN
DOCKER IMAGE BUILT FROM MAVEN PLUGIN
DOCKER IMAGE BUILT FROM DOCKERFILE
SPRING BOOT & DOCKER
DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
SPRING BOOT & DOCKER
https://github.com/bmuschko/gradle-docker-plugin
gradle dockerPushImage
PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL
DOCKER IMAGE BUILT FROM GRADLE PLUGIN
DOCKER IMAGE BUILT FROM MAVEN PLUGIN
DOCKER IMAGE BUILT FROM DOCKERFILE
SPRING BOOT & DOCKER
DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
SPRING BOOT & DOCKER
https://github.com/spotify/docker-maven-plugin
mvn clean package docker:build -DpushImage
PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL
DOCKER IMAGE BUILT FROM GRADLE PLUGIN
DOCKER IMAGE BUILT FROM MAVEN PLUGIN
DOCKER IMAGE BUILT FROM DOCKERFILE
SPRING BOOT & DOCKER
DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
SPRING BOOT & DOCKER
docker build -t hudsonmendes/api-example && 

docker push
PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL
DOCKER IMAGE BUILT FROM GRADLE PLUGIN
DOCKER IMAGE BUILT FROM MAVEN PLUGIN
DOCKER IMAGE BUILT FROM DOCKERFILE
SPRING BOOT & DOCKER
DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
SPRING BOOT & DOCKER
DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
https://github.com

/hudsonmendes

/belfastjug-sample-2

/branches
SPRING BOOT & DOCKER
DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
Base image
SPRING BOOT & DOCKER
DECIDING ON BASE IMAGE WHICH IMAGE?
RUNS OR
WILL EVER RUN
LINUX CONTAINERS?
JAVA7, JAVA8
OR JAVA9
RUNNING ON

WINDOWS SERVER?
DEBIAN
SPECIFIC?
DEBIAN
SPECIFIC?
openjdk:

7-jre
openjdk:

7-jre-alpine
openjdk:

9-jre
REQUIRES .MSI OR
WIN CORE ROLES?
openjdk:

*-nanoserver
openjdk:

*-windowservercore
openjdk:

8-jre
openjdk:

8-jre-alpine
YESYES
YES
YES
NO
NO
JAVA 8
JAVA 7
JAVA 9
NO
YESYES NO
AN ENGINEERING
PERSPECTIVE TO DOCKER
// TODO:
WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
DOCKER RUN,
ECS AND ECR
SPRING BOOT &
DOCKER
SPRING BOOT & DOCKER
DOCKER RUN, ECR, ECS
DOCKER IMAGE PUSHED, CHECKED
REMOVE LOCAL IMAGE
2 INSTANCES OF THE SAME CONTAINER IMAGE
ORCHESTRATION AND EPS
SPRING BOOT & DOCKER
DOCKER RUN, ECR, ECS
DOCKER ORCHESTRATION TECHNOLOGIES
SPRING BOOT & DOCKER
DOCKER RUN, ECR, ECS
DOCKER ORCHESTRATION TECHNOLOGIES
SPRING BOOT & DOCKER
DOCKER RUN, ECR, ECS
SPRING BOOT & DOCKER
DOCKER RUN, ECR, ECS
DOCKER IMAGE PUSHED, CHECKED
REMOVE LOCAL IMAGE
2 INSTANCES OF THE SAME CONTAINER IMAGE
ORCHESTRATION AND EPS
SPRING BOOT & DOCKER
DOCKER RUN, ECR, ECS
AN ENGINEERING
PERSPECTIVE TO DOCKER
// TODO:
WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
DOCKER IN THE
BUILD PIPELINE
SPRING BOOT &
DOCKER
SPRING BOOT & DOCKER
DOCKER IN THE BUILD PIPELINE
$ (develop) git push
ECR REPOSITORY ECS ORCHESTRATION
EC2 UBUNTU
$ docker build
$ docker run
DEVELOP
MASTER
:LATEST
:LATEST
:LATEST
:LATEST
SVC1@2
SVC1@1
SVC2@2
SVC2@1
SVC3@2
SVC3@1
SPRING BOOT & DOCKER
DOCKER IN THE BUILD PIPELINE
$ (develop) git push
ECR REPOSITORY
EC2 UBUNTU
$ docker build
$ docker run
DEVELOP
:LATEST
:LATEST
:LATEST
:LATEST
SPRING BOOT & DOCKER
DOCKER IN THE BUILD PIPELINE
ECR REPOSITORY ECS ORCHESTRATION
MASTER
:LATEST
:LATEST
:LATEST
:LATEST
SVC1@2
SVC1@1
SVC2@2
SVC2@1
SVC3@2
SVC3@1
AN ENGINEERING
PERSPECTIVE TO DOCKER
// TODO:
WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
TIME FOR Q&A
// HUDSON MENDES
github.com/hudsonmendes
twitter.com/hudsonmendes
medium.com/@hudsonmendes
linkedin.com/in/hudsonmendes
THANKS!
// HUDSON MENDES

More Related Content

PDF
Docker for (Java) Developers
Rafael Benevides
 
PDF
Automate App Container Delivery with CI/CD and DevOps
Daniel Oh
 
PDF
Kubelet with no Kubernetes Masters | DevNation Tech Talk
Red Hat Developers
 
PDF
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
Docker, Inc.
 
PDF
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
 
PDF
DevOps Days Boston 2017: Developer first workflows for Kubernetes
Ambassador Labs
 
PDF
Run your Java apps on Cloud Foundry
Andy Piper
 
PDF
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
Docker, Inc.
 
Docker for (Java) Developers
Rafael Benevides
 
Automate App Container Delivery with CI/CD and DevOps
Daniel Oh
 
Kubelet with no Kubernetes Masters | DevNation Tech Talk
Red Hat Developers
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
Docker, Inc.
 
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
 
DevOps Days Boston 2017: Developer first workflows for Kubernetes
Ambassador Labs
 
Run your Java apps on Cloud Foundry
Andy Piper
 
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
Docker, Inc.
 

What's hot (20)

PDF
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Henning Jacobs
 
PDF
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Henning Jacobs
 
PDF
Shipping NodeJS with Docker and CoreOS
Ross Kukulinski
 
PDF
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
Docker, Inc.
 
PDF
Cloud Foundry Overview
Patrick Chanezon
 
PPTX
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
JavaDayUA
 
PDF
Docker 進階實務班
Philip Zheng
 
PDF
DCSF19 Containers for Beginners
Docker, Inc.
 
PDF
Codifying Devops by Gourav Shah
Initcron Systems Private Limited
 
PDF
Kubernetes Architecture - beyond a black box - Part 1
Hao H. Zhang
 
PDF
Choosing the Right Framework for Running Docker Containers in Prod
Josh Padnick
 
PDF
Drone Continuous Integration
Daniel Cerecedo
 
PDF
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Henning Jacobs
 
PPTX
Ignite 2017 - Windows Server Feature Release
Taylor Brown
 
PDF
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
Mario-Leander Reimer
 
PPTX
Cloud Foundry Diego: The New Cloud Runtime - CloudOpen Europe Talk 2015
David Soul
 
PDF
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 
PPTX
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
 
PDF
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
Jack-Junjie Cai
 
PPTX
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Henning Jacobs
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Henning Jacobs
 
Shipping NodeJS with Docker and CoreOS
Ross Kukulinski
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
Docker, Inc.
 
Cloud Foundry Overview
Patrick Chanezon
 
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
JavaDayUA
 
Docker 進階實務班
Philip Zheng
 
DCSF19 Containers for Beginners
Docker, Inc.
 
Codifying Devops by Gourav Shah
Initcron Systems Private Limited
 
Kubernetes Architecture - beyond a black box - Part 1
Hao H. Zhang
 
Choosing the Right Framework for Running Docker Containers in Prod
Josh Padnick
 
Drone Continuous Integration
Daniel Cerecedo
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Henning Jacobs
 
Ignite 2017 - Windows Server Feature Release
Taylor Brown
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
Mario-Leander Reimer
 
Cloud Foundry Diego: The New Cloud Runtime - CloudOpen Europe Talk 2015
David Soul
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
 
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
Jack-Junjie Cai
 
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
Ad

Similar to BelfastJUG, Spring Boot + Docker (20)

PDF
Docker for the Brave
David Schmitz
 
PDF
Vagrant or docker for java dev environment
Orest Ivasiv
 
PPTX
Create Microservice with Spring Boot and Docker
Sivaprakash
 
PPTX
Docker Basic Presentation
Aman Chhabra
 
PPTX
A Java Microservices Spring Boot and Docker case study.
Subramanyam Vemala
 
PDF
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Chris Richardson
 
PDF
What is this "docker"
Jean-Marc Meessen
 
PDF
Docker, Cloud Foundry, Bosh & Bluemix
IBM
 
PDF
Docker and java
Anthony Dahanne
 
PDF
The age of orchestration: from Docker basics to cluster management
Nicola Paolucci
 
PPTX
Docker and Microservice
Samuel Chow
 
PDF
Java and Containers: What's there to think about? | DevNation Tech Talk
Red Hat Developers
 
PDF
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
PDF
Introduction to Docker by Adrian Mouat
Container Solutions
 
PPTX
Michal Kordas "Docker: Good, Bad or Both"
LogeekNightUkraine
 
PPTX
Docker - from 1$ Billion Startup to the Future Industry Standard
Quan Truong Anh
 
PDF
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker, Inc.
 
PDF
Docker for Java Developers
Imesh Gunaratne
 
ODP
Aug penguin16
alhino
 
PDF
Docker Introduction
Sparkbit
 
Docker for the Brave
David Schmitz
 
Vagrant or docker for java dev environment
Orest Ivasiv
 
Create Microservice with Spring Boot and Docker
Sivaprakash
 
Docker Basic Presentation
Aman Chhabra
 
A Java Microservices Spring Boot and Docker case study.
Subramanyam Vemala
 
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Chris Richardson
 
What is this "docker"
Jean-Marc Meessen
 
Docker, Cloud Foundry, Bosh & Bluemix
IBM
 
Docker and java
Anthony Dahanne
 
The age of orchestration: from Docker basics to cluster management
Nicola Paolucci
 
Docker and Microservice
Samuel Chow
 
Java and Containers: What's there to think about? | DevNation Tech Talk
Red Hat Developers
 
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
Introduction to Docker by Adrian Mouat
Container Solutions
 
Michal Kordas "Docker: Good, Bad or Both"
LogeekNightUkraine
 
Docker - from 1$ Billion Startup to the Future Industry Standard
Quan Truong Anh
 
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker, Inc.
 
Docker for Java Developers
Imesh Gunaratne
 
Aug penguin16
alhino
 
Docker Introduction
Sparkbit
 
Ad

Recently uploaded (20)

PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
Activate_Methodology_Summary presentatio
annapureddyn
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Presentation about variables and constant.pptx
safalsingh810
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 

BelfastJUG, Spring Boot + Docker

  • 2. // NICE TO MEET YOU: - HUDSON MENDES, 32 - ITALO-BRAZILIAN (BORN IN BRAZIL) - HYBRID-CREATURE (JAVA AND .NET) - BETWEEEN PYTHON AND RUBY? RUBY - LOVE ANIME & _LOVE_ GUINNESS! - BEEN A SOFTWARE ENGINEER SINCE 1999
  • 4. IF DEPLOYING SOFTWARE IS HARD, (…), THEN DEVELOPERS WILL OFTEN BUILD EVERYTHING INTO THE EXISTING APPLICATION IN ORDER TO AVOID SUFFERING THE NEW DEPLOYMENT PENALTY. Karl Matthias, Docker: Up & Running SPRING BOOT & DOCKER
  • 5. DEVELOPING MICROSERVICES MUST BE EASY…
 DEPLOYMENT MUST BE
 EVEN EASIER! Karl Matthias, Docker: Up & Running
  • 6. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: - overview on docker - simple spring boot application (.jar) - wrapped with Dockerfile, Gradle and Maven - deployed to a repository, ran locally and ran remotely (ECS) - in the build pipeline - a glimpse of what matters from the docker ecosystem
  • 7. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  • 9. SPRING BOOT & DOCKER OVERVIEW Source “8 surprising facts about Docker”
 (https://www.datadoghq.com/docker-adoption/)
  • 10. SPRING BOOT & DOCKER OVERVIEW Source Google Trends, compare Docker, Virtualisation, Angularjs
 (https://trends.google.com/trends/explore?q=docker,virtualization,angularjs)
  • 11. SPRING BOOT & DOCKER OVERVIEW
  • 12. SPRING BOOT & DOCKER OVERVIEW Source: “Performance on Docker vs VMs” (by Ali Hussain, Flex7)
 (https://www.slideshare.net/Flux7Labs/performance-of-docker-vs-vms)
  • 13. SPRING BOOT & DOCKER OVERVIEW
  • 14. SPRING BOOT & DOCKER OVERVIEW Must knows ‣ Conceptual evolution of LXC ‣ Not A VIRTUAL MACHINE ‣ Initial release: 2014 ‣ Open API ‣ Now supports Windows
  • 15. SPRING BOOT & DOCKER OVERVIEW
  • 16. SPRING BOOT & DOCKER OVERVIEW TOO LARGE TO GO THROUGH
  • 17. SPRING BOOT & DOCKER OVERVIEW $ docker build BUILD ENVIRONMENT
  • 18. SPRING BOOT & DOCKER OVERVIEW $ docker build $ docker images BUILD ENVIRONMENT
  • 19. SPRING BOOT & DOCKER OVERVIEW $ docker build $ docker push $ docker images IMAGE REPOSITORY BUILD ENVIRONMENT
  • 20. SPRING BOOT & DOCKER OVERVIEW $ docker build $ docker push $ docker images RUNNING ENVIRONMENT IMAGE REPOSITORY BUILD ENVIRONMENT $ docker run
  • 21. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  • 22. DEMO, SPRING BOOT MICRO SERVICE SIMPLEST .JAR SPRING BOOT & DOCKER
  • 23. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  • 24. SPRING BOOT & DOCKER https://github.com/bmuschko/gradle-docker-plugin gradle dockerPushImage
  • 25. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  • 26. SPRING BOOT & DOCKER https://github.com/spotify/docker-maven-plugin mvn clean package docker:build -DpushImage
  • 27. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  • 28. SPRING BOOT & DOCKER docker build -t hudsonmendes/api-example && 
 docker push
  • 29. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  • 30. SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER https://github.com
 /hudsonmendes
 /belfastjug-sample-2
 /branches
  • 31. SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER Base image
  • 32. SPRING BOOT & DOCKER DECIDING ON BASE IMAGE WHICH IMAGE? RUNS OR WILL EVER RUN LINUX CONTAINERS? JAVA7, JAVA8 OR JAVA9 RUNNING ON
 WINDOWS SERVER? DEBIAN SPECIFIC? DEBIAN SPECIFIC? openjdk:
 7-jre openjdk:
 7-jre-alpine openjdk:
 9-jre REQUIRES .MSI OR WIN CORE ROLES? openjdk:
 *-nanoserver openjdk:
 *-windowservercore openjdk:
 8-jre openjdk:
 8-jre-alpine YESYES YES YES NO NO JAVA 8 JAVA 7 JAVA 9 NO YESYES NO
  • 33. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  • 34. DOCKER RUN, ECS AND ECR SPRING BOOT & DOCKER
  • 35. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS DOCKER IMAGE PUSHED, CHECKED REMOVE LOCAL IMAGE 2 INSTANCES OF THE SAME CONTAINER IMAGE ORCHESTRATION AND EPS
  • 36. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS DOCKER ORCHESTRATION TECHNOLOGIES
  • 37. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS DOCKER ORCHESTRATION TECHNOLOGIES
  • 38. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS
  • 39. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS
  • 40. DOCKER IMAGE PUSHED, CHECKED REMOVE LOCAL IMAGE 2 INSTANCES OF THE SAME CONTAINER IMAGE ORCHESTRATION AND EPS SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS
  • 41. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  • 42. DOCKER IN THE BUILD PIPELINE SPRING BOOT & DOCKER
  • 43. SPRING BOOT & DOCKER DOCKER IN THE BUILD PIPELINE $ (develop) git push ECR REPOSITORY ECS ORCHESTRATION EC2 UBUNTU $ docker build $ docker run DEVELOP MASTER :LATEST :LATEST :LATEST :LATEST SVC1@2 SVC1@1 SVC2@2 SVC2@1 SVC3@2 SVC3@1
  • 44. SPRING BOOT & DOCKER DOCKER IN THE BUILD PIPELINE $ (develop) git push ECR REPOSITORY EC2 UBUNTU $ docker build $ docker run DEVELOP :LATEST :LATEST :LATEST :LATEST
  • 45. SPRING BOOT & DOCKER DOCKER IN THE BUILD PIPELINE ECR REPOSITORY ECS ORCHESTRATION MASTER :LATEST :LATEST :LATEST :LATEST SVC1@2 SVC1@1 SVC2@2 SVC2@1 SVC3@2 SVC3@1
  • 46. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  • 47. TIME FOR Q&A // HUDSON MENDES github.com/hudsonmendes twitter.com/hudsonmendes medium.com/@hudsonmendes linkedin.com/in/hudsonmendes