Docker for the Brave

David Schmitz
David SchmitzBuilding bugs from coffee! at Senacor Technologies
DOCKER FOR THE BRAVE
INTRODUCTION FOR BUSY PEOPLE
AGENDA
AGENDA
▸ The need for containers
▸ Overview: Docker and the Docker Ecosystem
▸ Basic Docker Workflows
“Well, it worked on my machine!”
THE NEED FOR CONTAINERS
TRADITIONAL SOFTWARE DELIVERY SUFFERS FROM GAP BETWEEN DEV AND PROD
STABILITY AND ROBUSTNESSFLEXIBILITY
Development Production
THE NEED FOR CONTAINERS
TRADITIONAL SOFTWARE DELIVERY SUFFERS FROM GAP BETWEEN DEV AND PROD
Loan Application
JDK 8
WILDFLY
MYSQL
MAC OSX
Production
JDK 6
WEBLOGIC
ORACLE
AIX
FIREWALL
SECURITY
INFRASTRUCTURE
MONITORING
…
?
Magic Operations Guide Template
Docker for the Brave
Unicorns do not exist!
THE NEED FOR CONTAINERS
CONTAINERIZED APPLICATIONS OFFER A WAY TO NARROW THE GAP
▸ Immutable containers reduce human errors
▸ Instead of “works on my machine” you deploy
the machine
▸ Think diapers
THE NEED FOR CONTAINERS
PACKAGE ONCE
DEPLOY ANYWHERE
CODE
RUNTIME SYSTEM TOOLS
LIBRARIES
Container
THE NEED FOR CONTAINERS
Loan Application
JDK 7
MYSQL CORE OS
WILDFLY
Container
Production
Sales Application
JDK 8
NEO4J ALPINE
JETTY
Container
JDK 7
MYSQL CORE OS
WILDFLY
Container
JDK 8
NEO4J ALPINE
JETTY
Container
THE NEED FOR CONTAINERS
VIRTUALIZATION VS. CONTAINERS
SPEED FOOTPRINT SIMPLICITY
DOCKER BOOTCAMP
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE DOCKER ECOSYSTEM CONSISTS OF FIVE ESSENTIAL PARTS
Docker
SwarmMachine
Compose Network
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
WE’LL ONLY COVER THE BASICS
Docker
Machine
Compose
Swarm
Network
LINUX VM
(BOOT2DOCKER.ISO)
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
DOCKER-MACHINE HELPS GETTING STARTED ON NON LINUX BOXES
DOCKER HOST
WILDFLY
MYSQL
REDIS
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
DOCKER TOOLBOX TO THE RESCUE
▸ Offers a one stop Docker setup for non-
Linux machines
▸ Easiest way to get started on Mac and
Windows
▸ Includes everything covered in theses slides
https://www.docker.com/docker-toolbox
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
DOCKER IN A NUTSHELL
REGISTRYDOCKER HOST
DOCKER CLIENT
CONTAINER
CONTAINER
CONTAINER
IMAGE
IMAGE
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
IMAGES AND CONTAINERS
IMAGE
ALPINE:3.1
CONTAINER: DREAMY_HUGLE
B00F46831AF3
CONTAINER: SLEEPY_GOLICK
F0A1172ADB12
CONTAINER: JOLLY_BABBAGE
D0BAE89AD214
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
CONTAINER LIFECYCLE
CREATED
STARTED
STOPPED
REMOVED
DEMO TIME
BUILDING A LOCAL TWITTER
▸ Bootstrap demo
▸ Basic container usage
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
EXPOSING SERVICES
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
CONTAINER PORTS ARE NOT VISIBLE OUTSIDE OF THE DOCKER HOST
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
CONTAINER PORTS ARE NOT VISIBLE OUTSIDE OF THE DOCKER HOST
?
DOCKER HOST
CONTAINER: DREAMY_HUGLE
B00F46831AF3
80
443
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
CONTAINER PORTS MUST BE MAPPED TO EXTERNALLY VISIBLE PORTS
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
CONTAINER PORTS MUST BE MAPPED TO EXTERNALLY VISIBLE PORTS
DOCKER HOST
CONTAINER: DREAMY_HUGLE
B00F46831AF3
80
443
8080
DEMO TIME
BUILDING A LOCAL TWITTER
▸ Bootstrap demo
▸ Basic container usage
▸ Running ngnix
▸ Exposing ports
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS VERSIONED
CONTAINER: TEST
F0A1172ADB12
CREATED
STARTED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS VERSIONED
CONTAINER: TEST
F0A1172ADB12
foo
CREATED
STARTED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS VERSIONED
CONTAINER: TEST
F0A1172ADB12
foo
STARTED
STOPPED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM SURVIVES RESTARTS
CONTAINER: TEST
F0A1172ADB12
foo
STARTED
STOPPED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM SURVIVES RESTARTS
CONTAINER: TEST
F0A1172ADB12
foo
STARTED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS VERSIONED
CONTAINER: TEST
F0A1172ADB12
foo
CREATED
STARTED
STOPPED
REMOVED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS TRANSIENT
CONTAINER: TEST
F0A1172ADB12
foo
STOPPED
REMOVED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS TRANSIENT
CONTAINER: TEST
D8C89E9BB6AB
CREATED
STARTED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS TRANSIENT
CONTAINER: TEST
D8C89E9BB6AB
CREATED
STARTED
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE CONTAINER FILESYSTEM IS SEPARATED FROM THE HOST ENVIRONMENT
HOST
CONTAINER: DREAMY_HUGLE
B00F46831AF3
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
PERSISTENT VOLUMES ARE USED TO SHARE DATA BETWEEN HOST AND CONTAINER
HOST
CONTAINER: DREAMY_HUGLE
B00F46831AF3
CONTAINER: SLEEPY_GOLICK
F0A1172ADB12
VOLUME: DATA
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
PERSISTENT VOLUMES ARE USED TO SHARE DATA BETWEEN HOST AND CONTAINER
HOST
CONTAINER: MYWEB
B00F46831AF3
VOLUME:
~/SHARED
VOLUME:
/USR/SHARE/NGINX/HTML/
foo.htmlfoo.html
DEMO TIME
BUILDING A LOCAL TWITTER
▸ Bootstrap demo
▸ Basic container usage
▸ Running ngnix
▸ Exposing ports
▸ Sharing volumes and data
▸ Monitoring
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
THE DOCKERFILE IS THE RECIPE FOR AN IMAGE
IMAGE
KOENIGHOTZE/JDK8
Dockerfile
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
READ WRITE LAYER
READ LAYER
READ LAYER
READ LAYER
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
IMAGES ARE LAYERED; EACH LAYER IS CACHED OR FETCHED INDIVIDUALLY
KOENIGHOTZE/JDK8
FROM GLIDERLABS/ALPINE:3.3
…
CMD ["BASH", "-L"]
MAINTAINER DAVID SCHMITZ
VOLUME [$SRC_VOLUME]
COMPLEX SCENARIOS
USING COMPOSE
COMPOSITION
COMPLEX SCENARIOS USING COMPOSE
MANAGING DEPENDENCIES WITH DOCKER-COMPOSE
CONTAINER: DREAMY_HUGLE
B00F46831AF3
CONTAINER: SLEEPY_GOLICK
F0A1172ADB12
CONTAINER: JOLLY_BABBAGE
D0BAE89AD214
COMPLEX SCENARIOS USING COMPOSE
USING DOCKER-COMPOSE FOR DEPENDENCIES*
BOOKING
ping mongodb
MONGODB GUEST
curl $GUEST_URI
*Note: Compose V1 Syntax
MOVIE CONTAINER
COMPLEX SCENARIOS USING COMPOSE
DOCKER SINGLE HOST NETWORKING USING LINKS
MOVIE.WAR
ACTOR CONTAINER
ACTOR.WAR
DEMO TIME
CREATING A SIMPLE COMPOSITION WITH SPRING-BOOT AND DOCKER
▸ Create simple web application
▸ Add database as container
▸ Create compositions file
▸ Add volumes
BEYOND DOCKER
WHAT IS NEXT?
▸ CoreOs and rkt
▸ Docker Swarm and Kubernetes
▸ Unikernels (!)
BEYOND DOCKER AND SUMMARY
SUMMARY
▸ Docker is production ready
▸ Docker-Compose is targeted towards developers and should not be used for
production
▸ Might have some issues with regards to networking and clustering
▸ Multi-Cloud deployments possible
▸ Community is vital and eager to help
WANT TO KNOW MORE?
TRY ONE OF THESE GREAT VAULTS OF WISDOM
▸ Docker Home Page: https://www.docker.com/
▸ Docker Cheat Sheet: https://github.com/wsargent/docker-cheat-sheet
▸ James Turnbull, Dockerbook: http//www.dockerbook.com/
THANK YOU!
<david.schmitz@senacor.com>
BACKUP
<>
THE NEED FOR CONTAINERS
Loan Application
JDK 7
MYSQL CORE OS
WILDFLY
Container
JDK 8
NEO4J ALPINE
JETTY
Container
RUBY
POSTGRES ALPINE
RAILS
Container
…
… …
…
Container
1 of 55

Recommended

Spring boot - Getting Started by
Spring boot - Getting StartedSpring boot - Getting Started
Spring boot - Getting StartedDavid Schmitz
951 views15 slides
Real world serverless - architecture, patterns and lessons learned by
Real world serverless - architecture, patterns and lessons learnedReal world serverless - architecture, patterns and lessons learned
Real world serverless - architecture, patterns and lessons learnedDavid Schmitz
580 views265 slides
Docker & IoT: protecting the Datacenter by
Docker & IoT: protecting the DatacenterDocker & IoT: protecting the Datacenter
Docker & IoT: protecting the DatacenterAlex Ellis
6K views19 slides
Ninja Git: Save Your Master by
Ninja Git: Save Your MasterNinja Git: Save Your Master
Ninja Git: Save Your MasterNicola Paolucci
1.4K views53 slides
The FaaS and the Furious by
The FaaS and the FuriousThe FaaS and the Furious
The FaaS and the FuriousDavid Schmitz
425 views130 slides
Behind the scenes with Docker volume plugins by
Behind the scenes with Docker volume pluginsBehind the scenes with Docker volume plugins
Behind the scenes with Docker volume pluginsClusterHQ
845 views44 slides

More Related Content

What's hot

SF Gradle Meetup - Netflix OSS by
SF Gradle Meetup - Netflix OSSSF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSSJustin Ryan
2K views18 slides
Docker in production: reality, not hype (OSCON 2015) by
Docker in production: reality, not hype (OSCON 2015)Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)bridgetkromhout
12K views53 slides
Buildpacks detect, compile, release by
Buildpacks  detect, compile, releaseBuildpacks  detect, compile, release
Buildpacks detect, compile, releaseHristo Iliev
223 views37 slides
Netflix Nebula - Gradle Summit 2014 by
Netflix Nebula - Gradle Summit 2014Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Justin Ryan
7.8K views48 slides
Terraform 101 by
Terraform 101Terraform 101
Terraform 101Haggai Philip Zagury
453 views55 slides
Docker-Hanoi @DKT , Presentation about Docker Ecosystem by
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
864 views44 slides

What's hot(20)

SF Gradle Meetup - Netflix OSS by Justin Ryan
SF Gradle Meetup - Netflix OSSSF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSS
Justin Ryan2K views
Docker in production: reality, not hype (OSCON 2015) by bridgetkromhout
Docker in production: reality, not hype (OSCON 2015)Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)
bridgetkromhout12K views
Buildpacks detect, compile, release by Hristo Iliev
Buildpacks  detect, compile, releaseBuildpacks  detect, compile, release
Buildpacks detect, compile, release
Hristo Iliev223 views
Netflix Nebula - Gradle Summit 2014 by Justin Ryan
Netflix Nebula - Gradle Summit 2014Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014
Justin Ryan7.8K views
Docker-Hanoi @DKT , Presentation about Docker Ecosystem by Van Phuc
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc864 views
Continuous Delivery with Jenkins and Wildfly (2014) by Tracy Kennedy
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)
Tracy Kennedy41.1K views
Code Reviews vs. Pull Requests by Atlassian
Code Reviews vs. Pull RequestsCode Reviews vs. Pull Requests
Code Reviews vs. Pull Requests
Atlassian15.8K views
Docker, developers take power by Enalean
Docker, developers take powerDocker, developers take power
Docker, developers take power
Enalean2.4K views
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH by Erica Windisch
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGHDeploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Erica Windisch53.4K views
Devoxx 2015 - Web Application Development using Grails and Docker by Ted Vinke
Devoxx 2015 - Web Application Development using Grails and DockerDevoxx 2015 - Web Application Development using Grails and Docker
Devoxx 2015 - Web Application Development using Grails and Docker
Ted Vinke4.4K views
Docker: Light and Dark by Tori Wieldt
Docker: Light and DarkDocker: Light and Dark
Docker: Light and Dark
Tori Wieldt293 views
2016 Docker Palo Alto - CD with ECS and Jenkins by Tracy Kennedy
2016 Docker Palo Alto -  CD with ECS and Jenkins2016 Docker Palo Alto -  CD with ECS and Jenkins
2016 Docker Palo Alto - CD with ECS and Jenkins
Tracy Kennedy223 views
Docker Security: Are Your Containers Tightly Secured to the Ship? by Michael Boelen
Docker Security: Are Your Containers Tightly Secured to the Ship?Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?
Michael Boelen8.7K views
Docker 101 @KACST Saudi HPC 2016 by Walid Shaari
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
Walid Shaari5.2K views
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem by Maciej Lasyk
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemProgramowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
Maciej Lasyk25.1K views
WWCode Dallas - Kubernetes: Learning from Zero to Production by Rosemary Wang
WWCode Dallas - Kubernetes: Learning from Zero to ProductionWWCode Dallas - Kubernetes: Learning from Zero to Production
WWCode Dallas - Kubernetes: Learning from Zero to Production
Rosemary Wang356 views

Viewers also liked

Javaslang @ Devoxx by
Javaslang @ DevoxxJavaslang @ Devoxx
Javaslang @ DevoxxDavid Schmitz
899 views97 slides
Elixir - Easy fun for busy developers @ Devoxx 2016 by
Elixir - Easy fun for busy developers @ Devoxx 2016Elixir - Easy fun for busy developers @ Devoxx 2016
Elixir - Easy fun for busy developers @ Devoxx 2016David Schmitz
944 views56 slides
10 Tips for failing at microservices by
10 Tips for failing at microservices10 Tips for failing at microservices
10 Tips for failing at microservicesDavid Schmitz
2.1K views108 slides
Bootstrap |> Elixir - Easy fun for busy developers by
Bootstrap |> Elixir - Easy fun for busy developersBootstrap |> Elixir - Easy fun for busy developers
Bootstrap |> Elixir - Easy fun for busy developersDavid Schmitz
702 views59 slides
moscmy2016: Extending Docker by
moscmy2016: Extending Dockermoscmy2016: Extending Docker
moscmy2016: Extending DockerMohammad Fairus Khalid
2.7K views42 slides
Deploying 3 times a day without a downtime @ Rocket Tech Summit in Berlin by
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinDeploying 3 times a day without a downtime @ Rocket Tech Summit in Berlin
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
2K views122 slides

Viewers also liked(20)

Elixir - Easy fun for busy developers @ Devoxx 2016 by David Schmitz
Elixir - Easy fun for busy developers @ Devoxx 2016Elixir - Easy fun for busy developers @ Devoxx 2016
Elixir - Easy fun for busy developers @ Devoxx 2016
David Schmitz944 views
10 Tips for failing at microservices by David Schmitz
10 Tips for failing at microservices10 Tips for failing at microservices
10 Tips for failing at microservices
David Schmitz2.1K views
Bootstrap |> Elixir - Easy fun for busy developers by David Schmitz
Bootstrap |> Elixir - Easy fun for busy developersBootstrap |> Elixir - Easy fun for busy developers
Bootstrap |> Elixir - Easy fun for busy developers
David Schmitz702 views
Deploying 3 times a day without a downtime @ Rocket Tech Summit in Berlin by Alessandro Nadalin
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinDeploying 3 times a day without a downtime @ Rocket Tech Summit in Berlin
Deploying 3 times a day without a downtime @ Rocket Tech Summit in Berlin
georchestra SDI: Project Status Report by Camptocamp
georchestra SDI: Project Status Reportgeorchestra SDI: Project Status Report
georchestra SDI: Project Status Report
Camptocamp458 views
Resilience testing with Wiremock and Spock by David Schmitz
Resilience testing with Wiremock and SpockResilience testing with Wiremock and Spock
Resilience testing with Wiremock and Spock
David Schmitz4.7K views
Introduction to Docker - Learning containerization XP conference 2016 by XP Conference India
Introduction to Docker - Learning containerization  XP conference 2016Introduction to Docker - Learning containerization  XP conference 2016
Introduction to Docker - Learning containerization XP conference 2016
Using docker to develop NAS applications by Terry Chen
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applications
Terry Chen1.2K views
Containers for sensor web services, applications and research @ Sensor Web Co... by Daniel Nüst
Containers for sensor web services, applications and research @ Sensor Web Co...Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...
Daniel Nüst413 views
Hybrid Mobile Development with Apache Cordova and by Ryan Cuprak
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
Ryan Cuprak1.9K views
Docker Dhahran Nov 2016 meetup by Walid Shaari
Docker Dhahran Nov 2016 meetupDocker Dhahran Nov 2016 meetup
Docker Dhahran Nov 2016 meetup
Walid Shaari2.6K views
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS by Gabriel Huecas
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Gabriel Huecas3.5K views
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014) by Ryan Cuprak
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Ryan Cuprak15.8K views
Building a private CI/CD pipeline with Java and Docker in the Cloud as presen... by Baruch Sadogursky
Building a private CI/CD pipeline with Java and Docker in the Cloud as presen...Building a private CI/CD pipeline with Java and Docker in the Cloud as presen...
Building a private CI/CD pipeline with Java and Docker in the Cloud as presen...
Baruch Sadogursky937 views
Advanced Docker Developer Workflows on MacOS X and Windows by Anil Madhavapeddy
Advanced Docker Developer Workflows on MacOS X and WindowsAdvanced Docker Developer Workflows on MacOS X and Windows
Advanced Docker Developer Workflows on MacOS X and Windows
Anil Madhavapeddy70.3K views

Similar to Docker for the Brave

Docker workshop by
Docker workshopDocker workshop
Docker workshopMichał Kurzeja
532 views128 slides
Docker and the Container Revolution by
Docker and the Container RevolutionDocker and the Container Revolution
Docker and the Container RevolutionRomain Dorgueil
1.3K views46 slides
Docker: A New Way to Turbocharging Your Apps Development by
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Developmentmsyukor
862 views65 slides
Be a happier developer with Docker: Tricks of the trade by
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeNicola Paolucci
3.5K views55 slides
Docker training by
Docker trainingDocker training
Docker trainingKiran Kumar
14 views47 slides
Real World Experience of Running Docker in Development and Production by
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionBen Hall
1.6K views95 slides

Similar to Docker for the Brave(20)

Docker and the Container Revolution by Romain Dorgueil
Docker and the Container RevolutionDocker and the Container Revolution
Docker and the Container Revolution
Romain Dorgueil1.3K views
Docker: A New Way to Turbocharging Your Apps Development by msyukor
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
msyukor862 views
Be a happier developer with Docker: Tricks of the trade by Nicola Paolucci
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the trade
Nicola Paolucci3.5K views
Real World Experience of Running Docker in Development and Production by Ben Hall
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
Ben Hall1.6K views
Be a Happier Developer with Docker: Tricks of the Trade by Docker, Inc.
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the Trade
Docker, Inc.5.3K views
7 reasons to start using Docker by Taras Lyapun
7 reasons to start using Docker7 reasons to start using Docker
7 reasons to start using Docker
Taras Lyapun7.4K views
Paolucci voxxed-days-berlin-2016-age-of-orchestration by Grzegorz Duda
Paolucci voxxed-days-berlin-2016-age-of-orchestrationPaolucci voxxed-days-berlin-2016-age-of-orchestration
Paolucci voxxed-days-berlin-2016-age-of-orchestration
Grzegorz Duda337 views
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos) by DynamicInfraDays
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
DynamicInfraDays652 views
Containers and Nutanix - Acropolis Container Services by NEXTtour
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
NEXTtour3.5K views
The age of orchestration: from Docker basics to cluster management by Nicola Paolucci
The age of orchestration: from Docker basics to cluster managementThe age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
Nicola Paolucci2.4K views
Architecting .NET Applications for Docker and Container Based Deployments by Ben Hall
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Ben Hall14.4K views
Docker and Microservice by Samuel Chow
Docker and MicroserviceDocker and Microservice
Docker and Microservice
Samuel Chow1.1K views

More from David Schmitz

Going Cloud Native by
Going Cloud NativeGoing Cloud Native
Going Cloud NativeDavid Schmitz
2K views127 slides
Eventsourcing you-are-doing-it-wrong-vxdparis by
Eventsourcing you-are-doing-it-wrong-vxdparisEventsourcing you-are-doing-it-wrong-vxdparis
Eventsourcing you-are-doing-it-wrong-vxdparisDavid Schmitz
438 views203 slides
Vavr Java User Group Rheinland by
Vavr Java User Group RheinlandVavr Java User Group Rheinland
Vavr Java User Group RheinlandDavid Schmitz
456 views157 slides
Event Sourcing - You are doing it wrong @ Devoxx by
Event Sourcing - You are doing it wrong @ DevoxxEvent Sourcing - You are doing it wrong @ Devoxx
Event Sourcing - You are doing it wrong @ DevoxxDavid Schmitz
1.9K views196 slides
10 Tipps für ein absolutes Microservice-Desaster by
10 Tipps für ein absolutes Microservice-Desaster10 Tipps für ein absolutes Microservice-Desaster
10 Tipps für ein absolutes Microservice-DesasterDavid Schmitz
433 views161 slides
10 tips for failing at microservices @ DevExperience 2018 by
10 tips for failing at microservices @ DevExperience 201810 tips for failing at microservices @ DevExperience 2018
10 tips for failing at microservices @ DevExperience 2018David Schmitz
666 views180 slides

More from David Schmitz(9)

Eventsourcing you-are-doing-it-wrong-vxdparis by David Schmitz
Eventsourcing you-are-doing-it-wrong-vxdparisEventsourcing you-are-doing-it-wrong-vxdparis
Eventsourcing you-are-doing-it-wrong-vxdparis
David Schmitz438 views
Vavr Java User Group Rheinland by David Schmitz
Vavr Java User Group RheinlandVavr Java User Group Rheinland
Vavr Java User Group Rheinland
David Schmitz456 views
Event Sourcing - You are doing it wrong @ Devoxx by David Schmitz
Event Sourcing - You are doing it wrong @ DevoxxEvent Sourcing - You are doing it wrong @ Devoxx
Event Sourcing - You are doing it wrong @ Devoxx
David Schmitz1.9K views
10 Tipps für ein absolutes Microservice-Desaster by David Schmitz
10 Tipps für ein absolutes Microservice-Desaster10 Tipps für ein absolutes Microservice-Desaster
10 Tipps für ein absolutes Microservice-Desaster
David Schmitz433 views
10 tips for failing at microservices @ DevExperience 2018 by David Schmitz
10 tips for failing at microservices @ DevExperience 201810 tips for failing at microservices @ DevExperience 2018
10 tips for failing at microservices @ DevExperience 2018
David Schmitz666 views
10 Tips for failing at microservices - badly (BedCon 2017) by David Schmitz
10 Tips for failing at microservices - badly (BedCon 2017)10 Tips for failing at microservices - badly (BedCon 2017)
10 Tips for failing at microservices - badly (BedCon 2017)
David Schmitz1.5K views
Javaslang Talk @ Javaland 2017 by David Schmitz
Javaslang Talk @ Javaland 2017Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017
David Schmitz780 views
Javaslang - Functional Sugar For Java by David Schmitz
Javaslang - Functional Sugar For JavaJavaslang - Functional Sugar For Java
Javaslang - Functional Sugar For Java
David Schmitz2.6K views

Recently uploaded

The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
69 views20 slides
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsShapeBlue
197 views13 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
449 views92 slides
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueShapeBlue
176 views20 slides
The Role of Patterns in the Era of Large Language Models by
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
80 views65 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
179 views7 slides

Recently uploaded(20)

The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE69 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue197 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue176 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue179 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue88 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu365 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue210 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue85 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue79 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue103 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue84 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue138 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely78 views

Docker for the Brave

  • 1. DOCKER FOR THE BRAVE INTRODUCTION FOR BUSY PEOPLE
  • 2. AGENDA AGENDA ▸ The need for containers ▸ Overview: Docker and the Docker Ecosystem ▸ Basic Docker Workflows
  • 3. “Well, it worked on my machine!”
  • 4. THE NEED FOR CONTAINERS TRADITIONAL SOFTWARE DELIVERY SUFFERS FROM GAP BETWEEN DEV AND PROD STABILITY AND ROBUSTNESSFLEXIBILITY Development Production
  • 5. THE NEED FOR CONTAINERS TRADITIONAL SOFTWARE DELIVERY SUFFERS FROM GAP BETWEEN DEV AND PROD Loan Application JDK 8 WILDFLY MYSQL MAC OSX Production JDK 6 WEBLOGIC ORACLE AIX FIREWALL SECURITY INFRASTRUCTURE MONITORING … ?
  • 9. THE NEED FOR CONTAINERS CONTAINERIZED APPLICATIONS OFFER A WAY TO NARROW THE GAP ▸ Immutable containers reduce human errors ▸ Instead of “works on my machine” you deploy the machine ▸ Think diapers
  • 10. THE NEED FOR CONTAINERS PACKAGE ONCE DEPLOY ANYWHERE CODE RUNTIME SYSTEM TOOLS LIBRARIES Container
  • 11. THE NEED FOR CONTAINERS Loan Application JDK 7 MYSQL CORE OS WILDFLY Container Production Sales Application JDK 8 NEO4J ALPINE JETTY Container JDK 7 MYSQL CORE OS WILDFLY Container JDK 8 NEO4J ALPINE JETTY Container
  • 12. THE NEED FOR CONTAINERS VIRTUALIZATION VS. CONTAINERS SPEED FOOTPRINT SIMPLICITY
  • 14. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE DOCKER ECOSYSTEM CONSISTS OF FIVE ESSENTIAL PARTS Docker SwarmMachine Compose Network
  • 15. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM WE’LL ONLY COVER THE BASICS Docker Machine Compose Swarm Network
  • 16. LINUX VM (BOOT2DOCKER.ISO) OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM DOCKER-MACHINE HELPS GETTING STARTED ON NON LINUX BOXES DOCKER HOST WILDFLY MYSQL REDIS
  • 17. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM DOCKER TOOLBOX TO THE RESCUE ▸ Offers a one stop Docker setup for non- Linux machines ▸ Easiest way to get started on Mac and Windows ▸ Includes everything covered in theses slides https://www.docker.com/docker-toolbox
  • 18. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM DOCKER IN A NUTSHELL REGISTRYDOCKER HOST DOCKER CLIENT CONTAINER CONTAINER CONTAINER IMAGE IMAGE
  • 19. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM IMAGES AND CONTAINERS IMAGE ALPINE:3.1 CONTAINER: DREAMY_HUGLE B00F46831AF3 CONTAINER: SLEEPY_GOLICK F0A1172ADB12 CONTAINER: JOLLY_BABBAGE D0BAE89AD214
  • 20. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM CONTAINER LIFECYCLE CREATED STARTED STOPPED REMOVED
  • 21. DEMO TIME BUILDING A LOCAL TWITTER ▸ Bootstrap demo ▸ Basic container usage
  • 22. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM EXPOSING SERVICES
  • 23. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM CONTAINER PORTS ARE NOT VISIBLE OUTSIDE OF THE DOCKER HOST
  • 24. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM CONTAINER PORTS ARE NOT VISIBLE OUTSIDE OF THE DOCKER HOST ? DOCKER HOST CONTAINER: DREAMY_HUGLE B00F46831AF3 80 443
  • 25. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM CONTAINER PORTS MUST BE MAPPED TO EXTERNALLY VISIBLE PORTS
  • 26. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM CONTAINER PORTS MUST BE MAPPED TO EXTERNALLY VISIBLE PORTS DOCKER HOST CONTAINER: DREAMY_HUGLE B00F46831AF3 80 443 8080
  • 27. DEMO TIME BUILDING A LOCAL TWITTER ▸ Bootstrap demo ▸ Basic container usage ▸ Running ngnix ▸ Exposing ports
  • 28. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS VERSIONED CONTAINER: TEST F0A1172ADB12 CREATED STARTED
  • 29. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS VERSIONED CONTAINER: TEST F0A1172ADB12 foo CREATED STARTED
  • 30. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS VERSIONED CONTAINER: TEST F0A1172ADB12 foo STARTED STOPPED
  • 31. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM SURVIVES RESTARTS CONTAINER: TEST F0A1172ADB12 foo STARTED STOPPED
  • 32. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM SURVIVES RESTARTS CONTAINER: TEST F0A1172ADB12 foo STARTED
  • 33. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS VERSIONED CONTAINER: TEST F0A1172ADB12 foo CREATED STARTED STOPPED REMOVED
  • 34. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS TRANSIENT CONTAINER: TEST F0A1172ADB12 foo STOPPED REMOVED
  • 35. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS TRANSIENT CONTAINER: TEST D8C89E9BB6AB CREATED STARTED
  • 36. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS TRANSIENT CONTAINER: TEST D8C89E9BB6AB CREATED STARTED
  • 37. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE CONTAINER FILESYSTEM IS SEPARATED FROM THE HOST ENVIRONMENT HOST CONTAINER: DREAMY_HUGLE B00F46831AF3
  • 38. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM PERSISTENT VOLUMES ARE USED TO SHARE DATA BETWEEN HOST AND CONTAINER HOST CONTAINER: DREAMY_HUGLE B00F46831AF3 CONTAINER: SLEEPY_GOLICK F0A1172ADB12 VOLUME: DATA
  • 39. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM PERSISTENT VOLUMES ARE USED TO SHARE DATA BETWEEN HOST AND CONTAINER HOST CONTAINER: MYWEB B00F46831AF3 VOLUME: ~/SHARED VOLUME: /USR/SHARE/NGINX/HTML/ foo.htmlfoo.html
  • 40. DEMO TIME BUILDING A LOCAL TWITTER ▸ Bootstrap demo ▸ Basic container usage ▸ Running ngnix ▸ Exposing ports ▸ Sharing volumes and data ▸ Monitoring
  • 41. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM THE DOCKERFILE IS THE RECIPE FOR AN IMAGE IMAGE KOENIGHOTZE/JDK8 Dockerfile
  • 42. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM READ WRITE LAYER READ LAYER READ LAYER READ LAYER
  • 43. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM
  • 44. OVERVIEW: DOCKER AND THE DOCKER ECOSYSTEM IMAGES ARE LAYERED; EACH LAYER IS CACHED OR FETCHED INDIVIDUALLY KOENIGHOTZE/JDK8 FROM GLIDERLABS/ALPINE:3.3 … CMD ["BASH", "-L"] MAINTAINER DAVID SCHMITZ VOLUME [$SRC_VOLUME]
  • 46. COMPOSITION COMPLEX SCENARIOS USING COMPOSE MANAGING DEPENDENCIES WITH DOCKER-COMPOSE CONTAINER: DREAMY_HUGLE B00F46831AF3 CONTAINER: SLEEPY_GOLICK F0A1172ADB12 CONTAINER: JOLLY_BABBAGE D0BAE89AD214
  • 47. COMPLEX SCENARIOS USING COMPOSE USING DOCKER-COMPOSE FOR DEPENDENCIES* BOOKING ping mongodb MONGODB GUEST curl $GUEST_URI *Note: Compose V1 Syntax
  • 48. MOVIE CONTAINER COMPLEX SCENARIOS USING COMPOSE DOCKER SINGLE HOST NETWORKING USING LINKS MOVIE.WAR ACTOR CONTAINER ACTOR.WAR
  • 49. DEMO TIME CREATING A SIMPLE COMPOSITION WITH SPRING-BOOT AND DOCKER ▸ Create simple web application ▸ Add database as container ▸ Create compositions file ▸ Add volumes
  • 50. BEYOND DOCKER WHAT IS NEXT? ▸ CoreOs and rkt ▸ Docker Swarm and Kubernetes ▸ Unikernels (!)
  • 51. BEYOND DOCKER AND SUMMARY SUMMARY ▸ Docker is production ready ▸ Docker-Compose is targeted towards developers and should not be used for production ▸ Might have some issues with regards to networking and clustering ▸ Multi-Cloud deployments possible ▸ Community is vital and eager to help
  • 52. WANT TO KNOW MORE? TRY ONE OF THESE GREAT VAULTS OF WISDOM ▸ Docker Home Page: https://www.docker.com/ ▸ Docker Cheat Sheet: https://github.com/wsargent/docker-cheat-sheet ▸ James Turnbull, Dockerbook: http//www.dockerbook.com/
  • 55. THE NEED FOR CONTAINERS Loan Application JDK 7 MYSQL CORE OS WILDFLY Container JDK 8 NEO4J ALPINE JETTY Container RUBY POSTGRES ALPINE RAILS Container … … … … Container