SlideShare a Scribd company logo
1 of 58
Dockerize the world!
Martin Damovský
My plan for today
• Introduction to Docker
• Some demos
• Docker in Cloud
• IoT and Docker
• News from DockerCon 2015 in SF and Barcelona
Who am I?
• Software engineer (java, DBs, continuous integrations, docker, etc.)
• Grew up in small city near Ostrava
• Tieto Czech s.r.o. Ostrava, Gemalto in Prague
• Now in Vendavo CZ in Prague
• Twitter @damovsky
Who knows Docker?
Who uses Docker in production?
What is ?
• Docker is virtualization technology
• With docker you can:
• virtualize only the app and not the whole OS
• Isolate each app
• Restrict CPU / memory / for each app
• Easily distribute your app
• Automate your development / test / production environment
What is ?
• Docker is a whole platform for using containers
• Includes tools for:
• container sharing
• orchestrations, clustering, etc.
What is ?
• Docker is for Linux only
• But…Microsoft works on Docker for Windows
• Apple (MacOS) = no native support planned 
Docker project
• Docker inc. is a sponsor of “Docker” open source project
• https://github.com/docker/docker
• Written in Go
• Main contributors: Docker team, RedHat, IBM, Google, Cisco…
• Initial release: 13 March 2013
• Operation system: Linux
• www.docker.com
Docker vs VM
How does it works?
• Use Linux kernel support for isolation (CPU, memory, I/O, network….)
• Cgroups – linux kernel feature to limit resource usages
• Namespaces – linux kernel feature to isolate services from each other
• Earlier LXC – https://linuxcontainers.org
• Now – runC (Libcontainer) https://github.com/opencontainers/runc
Docker motto
Build – build container with your app
Ship - use docker registry to distribute your app
Run - wherever docker runs, your app will run as
well
DockerFile = cookbook for docker image
• Recipe for building the image
• Easy to transfer copy&paste
• Easy for versioning in Git, etc..
FROM debian:wheezy
RUN apt-get update
RUN apt-get install -y python2.7
CMD python2.7 -m SimpleHTTPServer 8000
Docker “flow”
1. create docker file
2. build dockerfile
$ docker build -t myTagName .
3. run container
$ docker run -d myTagName
Dockerfile
• # Demo 01
• https://asciinema.org/a/7m72btfpczbshfkxh26smwgqv
Dockerfile commands
• FROM
• RUN
• CMD
• ADD
• USER
• ENV
• etc….see at http://docs.docker.com/reference/builder/
It’s all about the money!
LAYERS!
Dockerfile vs layers
FROM debian:wheezy
RUN apt-get update
RUN apt-get install -y python2.7
CMD python2.7 -m SimpleHTTPServer 8000
└─61f… Virtual Size: 85.1 MB Tags: debian:wheezy
└─5b8.. Virtual Size: 93.4 MB
└─604.. Virtual Size: 123.5 MB
└─43e.. Virtual Size: 123.5 MB Tags: python:latest
Dockerfile, build, run
• # Demo 02
• Python http server + Connect to container
Docker Image
Base Image (debian/ubuntu/…)
Docker Image
Base Image (debian/ubuntu/busybox…)
Image – Added Apache
Docker Image Container
Base Image (debian/ubuntu/busybox…)
Image – Added Apache
Writable Layer
Docker Container and its file system layers
Base Image (debian/ubuntu/busybox…)
Image – Added
Apache
Writable Layer
Image – Added
MySQL
Writable Layer
Container #1 Container #2
Docker registry
• https://registry.hub.docker.com/
• Official repo (trusted builds)
• WordPress, MySQL, NgInx, Node, CentOS, Ubuntu, Postgress, mongo, rails, ruby,
java, python, golang, jenkins, php, tomcat, maven, httpd, …
• Public repo with thousands of images
• Integration with GitHub
• You push the Dockerfile to github
• Docker Registry builds the docker image for you
Docker requirements
• Technical:
• Linux kernel 3.10 +
• Knowledge:
• Linux, bash scripting, etc
Docker on Windows / Mac OS
Linux
Docker daemon
Container
Container
Container
Docker client
Mac OS / Windows
VM with Linux
Docker daemon
Container
Container
Container
Docker client
Docker API
•http://docs.docker.com/engine/reference/api/d
ocker_remote_api_v1.21/
•REST API for everything
•Container management
•Image management
•Docker configuration, etc…
Docker itself is….like a java
Without tools and frameworks
it’s useless
Docker Toolbox
• Docker engine
• Kinematic – GUI, runs on MacOS + Windows
• Docker Machine – automates Docker environment preparation
• Docker Compose – define multi-container application in one file
• Demo 03
• Docker Swarm – clustering the containers
Where can Docker be helpful?
…when new dev starts configuring project
…it works on my machine!
J2EE Application in Docker - demo
J2EE Application in Docker - demo
• https://github.com/mgreau/docker4dev-tennistour-app
• https://asciinema.org/a/2d6erl2tlu1j0b3rfvxwabnkv
• #Demo 04
Docker and IoT (Raspberry Pi)
• ARM vs x86/64 architecture
• Docker to plan official support ARM
• HypriotOS – linux distro for Raspberry
• Hypriot OS based images:
• https://hub.docker.com/u/hypriot/
RPI 2 + Docker = 2499 containers
• LIVE DEMO – hypriot OS httpd
• https://vimeo.com/131966874
• http://www.slideshare.net/Docker/docker-online-meetup-27-
raspberry-pi-dockercon-challenge
Docker in Cloud
• Digital Ocean
• UI Tutum.co – worth to try!
• Amazon
• Microsoft Azure
• Google Cloud
$ Price $
• Digital Ocean: $5 / 512 MB, 1 core, 20 GB SSD, 1TB Transfer
• Amazon: it depends on many factors
• Microsoft Azure
• Google Cloud: free up to 5 nodes, 6+ nodes $0.15 HR/Cluster
• Alternative: VSPFree.cz 4GB RAM, 8 cores, 900 Kč /3 Months
Docker and Microsoft ???
Docker and Microsoft ?
Docker and Microsoft ?
• Microsoft contributes to docker
• see pull request https://github.com/docker/docker/pull/9113
• Microsoft Azure supports docker
• Native Docker on Windows Server is coming…
Docker and PHP ?
• Piece of cake ;-)
• #Demo 05
Docker orchestration
• Docker Swarm
• Kubernetes
• Apache Mesos
Run GUI in Docker?
• https://blog.jessfraz.com/post/docker-containers-on-the-desktop/
• #Demo 06
Dockercraft
• A simple Minecraft Docker client, to visualize and manage Docker
containers.
Live Migration!
• Migration of running container from one host to second
• https://blog.docker.com/2015/11/dockercon-eu-2015-container-
migration-tool/
What’s in Docker roadmap?
• Official ARM support
• Docker on Windows Server
• Docker on IBM systems, Solaris
Troubles you may face….
….with Docker
Docker Registry - Image Repository
• Public – no way for 99,9% apps
• Private
• Limitation – money & your internet connection speed
• Local repo - can require some management
• Authentication (users/passwords/roles, etc…)
• cleaning olds images
• disk space
• backup (!!!!)
Docker Public Registry and license terms 
Unrealistic tutorials and demos
• Demos = “wow effect”
• Typical problem for production use – database in container
• Database container can really be big! (>10 GB or more)
• Data should be outside of container and backuped
• Virtualization decreases the performance
Docker containers and images
• Image is too big -> Squash layers
• Container has been stopped, but it blocks the port...
• Stopped != removed
• docker ps -a -q | xargs -n 1 -I {} docker rm {}
Run Docker on dedicated machine only
• You should use the latest Linux Kernel
• Some bug fixes may require you to update Linux Kernel
• Who can update Linux kernel in production?
• Which file system to use? BTRFS / AUFS / ?
• Which OS ?
• Core OS
• RancherOS
• Well known like a CentOS, Red Hat, Ubuntu ?
Links:
• My demos
• https://github.com/damovsky/jug-ostrava-docker
• Yowie – Open source project by @VitekTajzich
• https://github.com/vendavo/yowie

More Related Content

What's hot

Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
Docker - 15 great Tutorials
Docker - 15 great TutorialsDocker - 15 great Tutorials
Docker - 15 great TutorialsJulien Barbier
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerJérôme Petazzoni
 
Microservices using relocatable Docker containers
Microservices using relocatable Docker containersMicroservices using relocatable Docker containers
Microservices using relocatable Docker containersMauricio Garavaglia
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDr Ganesh Iyer
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan Hodgin
 
OpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQdotCloud
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopJirayut Nimsaeng
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé? dotCloud
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
 
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire dotCloud
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerAjeet Singh Raina
 
Architecting .NET Applications for Docker and Container Based Deployments
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 DeploymentsBen Hall
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginnerJirayut Nimsaeng
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registrydotCloud
 

What's hot (20)

Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Docker - 15 great Tutorials
Docker - 15 great TutorialsDocker - 15 great Tutorials
Docker - 15 great Tutorials
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
 
Microservices using relocatable Docker containers
Microservices using relocatable Docker containersMicroservices using relocatable Docker containers
Microservices using relocatable Docker containers
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
OpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQ
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Architecting .NET Applications for Docker and Container Based Deployments
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
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
 

Viewers also liked

Swift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer StorySwift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer StoryBrian Cline
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and familyFrancois Marier
 
Disksim with SSD_extension
Disksim with SSD_extensionDisksim with SSD_extension
Disksim with SSD_extensioncucufrog
 
How to build Debian packages
How to build Debian packages How to build Debian packages
How to build Debian packages Priyank Kapadia
 
Debian Cloud - building the Debian AMIs
Debian Cloud - building the Debian AMIsDebian Cloud - building the Debian AMIs
Debian Cloud - building the Debian AMIsJames Bromberger
 
Microservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsRed Hat Developers
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsFrancesco Bruni
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯SZ Lin
 
SR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/StableSR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/Stablejuet-y
 
Debian Packaging tutorial
Debian Packaging tutorialDebian Packaging tutorial
Debian Packaging tutorialnussbauml
 
Deep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS PerformanceDeep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS PerformanceAmazon Web Services
 
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Shinya Takamaeda-Y
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformSZ Lin
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesArun Gupta
 
Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Guy Harrison
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
 
SSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQLSSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQLYoshinori Matsunobu
 

Viewers also liked (20)

Swift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer StorySwift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer Story
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and family
 
Disksim with SSD_extension
Disksim with SSD_extensionDisksim with SSD_extension
Disksim with SSD_extension
 
How to build Debian packages
How to build Debian packages How to build Debian packages
How to build Debian packages
 
MySQL and SSD
MySQL and SSDMySQL and SSD
MySQL and SSD
 
Debian Cloud - building the Debian AMIs
Debian Cloud - building the Debian AMIsDebian Cloud - building the Debian AMIs
Debian Cloud - building the Debian AMIs
 
Microservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and Jenkins
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
 
SR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/StableSR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/Stable
 
Debian Packaging tutorial
Debian Packaging tutorialDebian Packaging tutorial
Debian Packaging tutorial
 
Deep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS PerformanceDeep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS Performance
 
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 Platform
 
Solid state drives
Solid state drivesSolid state drives
Solid state drives
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 
Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
SSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQLSSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQL
 

Similar to Dockerize the World - presentation from Hradec Kralove

Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraDaniel Palstra
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentalsAlper Unal
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with DockerLaura Frank Tacho
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by StepAdnan Siddiqi
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM France Lab
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeChristopher Grayson
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with dockerMichelle Liu
 
Docker, how to use it. organize a meeting with IBM products...
Docker, how to use it. organize a meeting with IBM products...Docker, how to use it. organize a meeting with IBM products...
Docker, how to use it. organize a meeting with IBM products...Andrea Fontana
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and YouBalaBit
 
Docker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsRamit Surana
 
Intro docker and demo monitor on docker
Intro docker and demo monitor on dockerIntro docker and demo monitor on docker
Intro docker and demo monitor on dockerWatcharin Yang-Ngam
 

Similar to Dockerize the World - presentation from Hradec Kralove (20)

Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Started
Docker StartedDocker Started
Docker Started
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with Docker
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by Step
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with docker
 
Docker, how to use it. organize a meeting with IBM products...
Docker, how to use it. organize a meeting with IBM products...Docker, how to use it. organize a meeting with IBM products...
Docker, how to use it. organize a meeting with IBM products...
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Docker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and tools
 
Intro docker and demo monitor on docker
Intro docker and demo monitor on dockerIntro docker and demo monitor on docker
Intro docker and demo monitor on docker
 
Up & Running with Docker
Up & Running with DockerUp & Running with Docker
Up & Running with Docker
 

Recently uploaded

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

Dockerize the World - presentation from Hradec Kralove

  • 2. My plan for today • Introduction to Docker • Some demos • Docker in Cloud • IoT and Docker • News from DockerCon 2015 in SF and Barcelona
  • 3. Who am I? • Software engineer (java, DBs, continuous integrations, docker, etc.) • Grew up in small city near Ostrava • Tieto Czech s.r.o. Ostrava, Gemalto in Prague • Now in Vendavo CZ in Prague • Twitter @damovsky
  • 5. Who uses Docker in production?
  • 6. What is ? • Docker is virtualization technology • With docker you can: • virtualize only the app and not the whole OS • Isolate each app • Restrict CPU / memory / for each app • Easily distribute your app • Automate your development / test / production environment
  • 7. What is ? • Docker is a whole platform for using containers • Includes tools for: • container sharing • orchestrations, clustering, etc.
  • 8. What is ? • Docker is for Linux only • But…Microsoft works on Docker for Windows • Apple (MacOS) = no native support planned 
  • 9. Docker project • Docker inc. is a sponsor of “Docker” open source project • https://github.com/docker/docker • Written in Go • Main contributors: Docker team, RedHat, IBM, Google, Cisco… • Initial release: 13 March 2013 • Operation system: Linux • www.docker.com
  • 10.
  • 12. How does it works? • Use Linux kernel support for isolation (CPU, memory, I/O, network….) • Cgroups – linux kernel feature to limit resource usages • Namespaces – linux kernel feature to isolate services from each other • Earlier LXC – https://linuxcontainers.org • Now – runC (Libcontainer) https://github.com/opencontainers/runc
  • 13. Docker motto Build – build container with your app Ship - use docker registry to distribute your app Run - wherever docker runs, your app will run as well
  • 14. DockerFile = cookbook for docker image • Recipe for building the image • Easy to transfer copy&paste • Easy for versioning in Git, etc.. FROM debian:wheezy RUN apt-get update RUN apt-get install -y python2.7 CMD python2.7 -m SimpleHTTPServer 8000
  • 15. Docker “flow” 1. create docker file 2. build dockerfile $ docker build -t myTagName . 3. run container $ docker run -d myTagName
  • 16. Dockerfile • # Demo 01 • https://asciinema.org/a/7m72btfpczbshfkxh26smwgqv
  • 17. Dockerfile commands • FROM • RUN • CMD • ADD • USER • ENV • etc….see at http://docs.docker.com/reference/builder/
  • 18. It’s all about the money! LAYERS!
  • 19. Dockerfile vs layers FROM debian:wheezy RUN apt-get update RUN apt-get install -y python2.7 CMD python2.7 -m SimpleHTTPServer 8000 └─61f… Virtual Size: 85.1 MB Tags: debian:wheezy └─5b8.. Virtual Size: 93.4 MB └─604.. Virtual Size: 123.5 MB └─43e.. Virtual Size: 123.5 MB Tags: python:latest
  • 20. Dockerfile, build, run • # Demo 02 • Python http server + Connect to container
  • 21. Docker Image Base Image (debian/ubuntu/…)
  • 22. Docker Image Base Image (debian/ubuntu/busybox…) Image – Added Apache
  • 23. Docker Image Container Base Image (debian/ubuntu/busybox…) Image – Added Apache Writable Layer
  • 24. Docker Container and its file system layers Base Image (debian/ubuntu/busybox…) Image – Added Apache Writable Layer Image – Added MySQL Writable Layer Container #1 Container #2
  • 25. Docker registry • https://registry.hub.docker.com/ • Official repo (trusted builds) • WordPress, MySQL, NgInx, Node, CentOS, Ubuntu, Postgress, mongo, rails, ruby, java, python, golang, jenkins, php, tomcat, maven, httpd, … • Public repo with thousands of images • Integration with GitHub • You push the Dockerfile to github • Docker Registry builds the docker image for you
  • 26. Docker requirements • Technical: • Linux kernel 3.10 + • Knowledge: • Linux, bash scripting, etc
  • 27. Docker on Windows / Mac OS
  • 28. Linux Docker daemon Container Container Container Docker client Mac OS / Windows VM with Linux Docker daemon Container Container Container Docker client
  • 29. Docker API •http://docs.docker.com/engine/reference/api/d ocker_remote_api_v1.21/ •REST API for everything •Container management •Image management •Docker configuration, etc…
  • 30. Docker itself is….like a java Without tools and frameworks it’s useless
  • 31. Docker Toolbox • Docker engine • Kinematic – GUI, runs on MacOS + Windows • Docker Machine – automates Docker environment preparation • Docker Compose – define multi-container application in one file • Demo 03 • Docker Swarm – clustering the containers
  • 32. Where can Docker be helpful?
  • 33. …when new dev starts configuring project
  • 34. …it works on my machine!
  • 35. J2EE Application in Docker - demo
  • 36. J2EE Application in Docker - demo • https://github.com/mgreau/docker4dev-tennistour-app • https://asciinema.org/a/2d6erl2tlu1j0b3rfvxwabnkv • #Demo 04
  • 37.
  • 38. Docker and IoT (Raspberry Pi) • ARM vs x86/64 architecture • Docker to plan official support ARM • HypriotOS – linux distro for Raspberry • Hypriot OS based images: • https://hub.docker.com/u/hypriot/
  • 39. RPI 2 + Docker = 2499 containers • LIVE DEMO – hypriot OS httpd • https://vimeo.com/131966874 • http://www.slideshare.net/Docker/docker-online-meetup-27- raspberry-pi-dockercon-challenge
  • 40. Docker in Cloud • Digital Ocean • UI Tutum.co – worth to try! • Amazon • Microsoft Azure • Google Cloud
  • 41. $ Price $ • Digital Ocean: $5 / 512 MB, 1 core, 20 GB SSD, 1TB Transfer • Amazon: it depends on many factors • Microsoft Azure • Google Cloud: free up to 5 nodes, 6+ nodes $0.15 HR/Cluster • Alternative: VSPFree.cz 4GB RAM, 8 cores, 900 Kč /3 Months
  • 44. Docker and Microsoft ? • Microsoft contributes to docker • see pull request https://github.com/docker/docker/pull/9113 • Microsoft Azure supports docker • Native Docker on Windows Server is coming…
  • 45. Docker and PHP ? • Piece of cake ;-) • #Demo 05
  • 46. Docker orchestration • Docker Swarm • Kubernetes • Apache Mesos
  • 47. Run GUI in Docker? • https://blog.jessfraz.com/post/docker-containers-on-the-desktop/ • #Demo 06
  • 48.
  • 49. Dockercraft • A simple Minecraft Docker client, to visualize and manage Docker containers.
  • 50. Live Migration! • Migration of running container from one host to second • https://blog.docker.com/2015/11/dockercon-eu-2015-container- migration-tool/
  • 51. What’s in Docker roadmap? • Official ARM support • Docker on Windows Server • Docker on IBM systems, Solaris
  • 52. Troubles you may face…. ….with Docker
  • 53. Docker Registry - Image Repository • Public – no way for 99,9% apps • Private • Limitation – money & your internet connection speed • Local repo - can require some management • Authentication (users/passwords/roles, etc…) • cleaning olds images • disk space • backup (!!!!)
  • 54. Docker Public Registry and license terms 
  • 55. Unrealistic tutorials and demos • Demos = “wow effect” • Typical problem for production use – database in container • Database container can really be big! (>10 GB or more) • Data should be outside of container and backuped • Virtualization decreases the performance
  • 56. Docker containers and images • Image is too big -> Squash layers • Container has been stopped, but it blocks the port... • Stopped != removed • docker ps -a -q | xargs -n 1 -I {} docker rm {}
  • 57. Run Docker on dedicated machine only • You should use the latest Linux Kernel • Some bug fixes may require you to update Linux Kernel • Who can update Linux kernel in production? • Which file system to use? BTRFS / AUFS / ? • Which OS ? • Core OS • RancherOS • Well known like a CentOS, Red Hat, Ubuntu ?
  • 58. Links: • My demos • https://github.com/damovsky/jug-ostrava-docker • Yowie – Open source project by @VitekTajzich • https://github.com/vendavo/yowie