SlideShare a Scribd company logo
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
• Discussion + Beer
Who am I?
• Software engineer (java, DBs, continuous integrations, docker, etc.)
• Grew up in Orlová - near Ostrava !!!
• VŠB TU Ostrava, Tieto Czech s.r.o. Ostrava, Gemalto in Prague
• Now in Vendavo CZ in Prague
• Twitter @damovsky
Who knows Docker?
What is ?
Docker is an open platform for developing, shipping, and running
applications. Docker is designed to deliver your applications faster.
With Docker you can separate your applications from your
infrastructure AND treat your infrastructure like a managed application.
Docker helps you ship code faster, test faster, deploy faster, and shorten
the cycle between writing code and running code.
What is ?...my version
• Docker is new way of virtualization
• you virtualize only the app and not the whole OS
• + dozen of tools for container sharing, running, orchestrations, etc.
• it’s a whole platform for using containers
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
Dockerize the World
Docker vs VM
How does it works?
• Use 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 Image
Base Image (debian/ubuntu/busybox…)
Image – Added Apache
Docker Container and its file system layers
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 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
Build – use Dockerfile
• Recipe for building the image
• Easy to transfer copy&paste
• versioning in git, etc..
FROM debian:wheezy
RUN apt-get update
RUN apt-get install -y python2.7
CMD python2.7 -m SimpleHTTPServer 8000
Dockerfile “flow”
1. create docker file
2. build dockerfile
$ docker build -t myTagName .
3. run container
$ docker run -d myTagName
Dockerfile
• # Demo
Dockerfile commands
• FROM
• RUN
• CMD
• ADD
• USER
• ENV
• etc….see at http://docs.docker.com/reference/builder/
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
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
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 containers are small and fast!
Demo #1 – debian
Demo #2 - tomcat
Docker API
•http://docs.docker.com/engine/reference/api/d
ocker_remote_api_v1.21/
•REST API
•Live demo – with using curl 
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
• 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
• https://github.com/mgreau/docker4dev-tennistour-app
Dockerize the World
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 + Docker
• LIVE DEMO – hypriot OS httpd
• https://vimeo.com/131966874
DockerCon 2015 Challenge
• How many containers could really be started on PI 2?
• 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: ?
• 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
• Demo ASP.NET in Docker
Docker and PHP ?
• Piece of cake ;-)
• Live demo
Docker orchestration
• Docker Swarm
• Kubernetes
• Apache Mesos
Run GUI in Docker?
• Why not?
• https://blog.jessfraz.com/post/docker-containers-on-the-desktop/
Dockerize the World
Dockercraft
• A simple Minecraft Docker client, to visualize and manage Docker
containers.
Live Migration!
• 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
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 ?
• $$$ = MAIN PROBLEM 
Dockerize the World
Many thanks to…
• Vendavo CZ for helping me with my presentation!
• And for supporting our “after party”
• Tieto CZ for JUG Ostrava organization!
• @VitekTajzich for his talk about Yowie
Links:
• My demos
• https://github.com/damovsky/jug-ostrava-docker
• Yowie – Open source project presented by @VitekTajzich
• https://github.com/vendavo/yowie

More Related Content

PPTX
Dockerize the World - presentation from Hradec Kralove
PDF
Docker 101 - Getting started
PDF
Introduction to Docker
PDF
Docker 101: An Introduction
PDF
Docker in real life
PDF
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
PPTX
Docker: From Zero to Hero
PDF
Use the Source or Join the Dark Side: differences between Docker Community an...
Dockerize the World - presentation from Hradec Kralove
Docker 101 - Getting started
Introduction to Docker
Docker 101: An Introduction
Docker in real life
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
Docker: From Zero to Hero
Use the Source or Join the Dark Side: differences between Docker Community an...

What's hot (20)

PDF
A Shift from Monolith to Microservice using Docker
PPTX
Virtual Container - Docker
PDF
Introduction to Docker - Vellore Institute of Technology
PDF
Docker Continuous Delivery Workshop
PPTX
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
PDF
Introduction to Docker
PDF
Web fundamentals
PDF
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
PDF
From development environments to production deployments with Docker, Compose,...
PDF
Docker at Djangocon 2013 | Talk by Ken Cochrane
PDF
Joomla Continuous Delivery with Docker
PPTX
Learn docker in 90 minutes
PDF
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
PDF
Basic docker for developer
PDF
Docker based-pipelines
PDF
Getting started with docker
PPTX
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
PPTX
Intro Docker october 2013
PPTX
Docker - A high level introduction to dockers and containers
PDF
Introduction to Docker
A Shift from Monolith to Microservice using Docker
Virtual Container - Docker
Introduction to Docker - Vellore Institute of Technology
Docker Continuous Delivery Workshop
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Introduction to Docker
Web fundamentals
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
From development environments to production deployments with Docker, Compose,...
Docker at Djangocon 2013 | Talk by Ken Cochrane
Joomla Continuous Delivery with Docker
Learn docker in 90 minutes
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Basic docker for developer
Docker based-pipelines
Getting started with docker
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Intro Docker october 2013
Docker - A high level introduction to dockers and containers
Introduction to Docker
Ad

Similar to Dockerize the World (20)

PDF
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
PDF
codemotion-docker-2014
PDF
Introduction to Docker and deployment and Azure
PDF
Introduction to Docker at the Azure Meet-up in New York
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PDF
Introduction to Docker at Glidewell Laboratories in Orange County
PDF
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
PDF
Docker up and Running For Web Developers
PDF
Docker Up and Running for Web Developers
PDF
Agile Brown Bag - Vagrant & Docker: Introduction
PPTX
Intro to Docker November 2013
PDF
Django and Docker
PDF
Introduction to Docker
PDF
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
PPTX
Cohesion Techsessie Docker - Daniel Palstra
PDF
Docker interview Questions-1.pdf
PDF
Docker for developers
PDF
Docker for developers
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
codemotion-docker-2014
Introduction to Docker and deployment and Azure
Introduction to Docker at the Azure Meet-up in New York
Docker 0.11 at MaxCDN meetup in Los Angeles
Introduction to Docker at Glidewell Laboratories in Orange County
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker up and Running For Web Developers
Docker Up and Running for Web Developers
Agile Brown Bag - Vagrant & Docker: Introduction
Intro to Docker November 2013
Django and Docker
Introduction to Docker
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Cohesion Techsessie Docker - Daniel Palstra
Docker interview Questions-1.pdf
Docker for developers
Docker for developers
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
Teaching material agriculture food technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Machine Learning_overview_presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Spectral efficient network and resource selection model in 5G networks
NewMind AI Weekly Chronicles - August'25-Week II
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
TLE Review Electricity (Electricity).pptx
Programs and apps: productivity, graphics, security and other tools
Mobile App Security Testing_ A Comprehensive Guide.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Teaching material agriculture food technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Assigned Numbers - 2025 - Bluetooth® Document
cloud_computing_Infrastucture_as_cloud_p
A comparative analysis of optical character recognition models for extracting...
Getting Started with Data Integration: FME Form 101
SOPHOS-XG Firewall Administrator PPT.pptx
Machine Learning_overview_presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Spectral efficient network and resource selection model in 5G networks

Dockerize the World

  • 2. My plan for today • Introduction to Docker • Some demos • Docker in Cloud • IoT and Docker • News from DockerCon 2015 in SF and Barcelona • Discussion + Beer
  • 3. Who am I? • Software engineer (java, DBs, continuous integrations, docker, etc.) • Grew up in Orlová - near Ostrava !!! • VŠB TU Ostrava, Tieto Czech s.r.o. Ostrava, Gemalto in Prague • Now in Vendavo CZ in Prague • Twitter @damovsky
  • 5. What is ? Docker is an open platform for developing, shipping, and running applications. Docker is designed to deliver your applications faster. With Docker you can separate your applications from your infrastructure AND treat your infrastructure like a managed application. Docker helps you ship code faster, test faster, deploy faster, and shorten the cycle between writing code and running code.
  • 6. What is ?...my version • Docker is new way of virtualization • you virtualize only the app and not the whole OS • + dozen of tools for container sharing, running, orchestrations, etc. • it’s a whole platform for using containers
  • 7. 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. How does it works? • Use 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
  • 11. Docker Image Base Image (debian/ubuntu/busybox…) Image – Added Apache
  • 12. Docker Container and its file system layers Base Image (debian/ubuntu/busybox…) Image – Added Apache Writable Layer
  • 13. 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
  • 14. 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
  • 15. Build – use Dockerfile • Recipe for building the image • Easy to transfer copy&paste • versioning in git, etc.. FROM debian:wheezy RUN apt-get update RUN apt-get install -y python2.7 CMD python2.7 -m SimpleHTTPServer 8000
  • 16. Dockerfile “flow” 1. create docker file 2. build dockerfile $ docker build -t myTagName . 3. run container $ docker run -d myTagName
  • 18. Dockerfile commands • FROM • RUN • CMD • ADD • USER • ENV • etc….see at http://docs.docker.com/reference/builder/
  • 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. 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
  • 21. Docker requirements • Technical: • Linux kernel 3.10 + • Knowledge: • Linux
  • 22. Docker on Windows / Mac OS
  • 23. Linux Docker daemon Container Container Container Docker client Mac OS / Windows VM with Linux Docker daemon Container Container Container Docker client
  • 24. Docker containers are small and fast! Demo #1 – debian Demo #2 - tomcat
  • 26. Docker itself is….like a java Without tools and frameworks it’s useless
  • 27. 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 • Docker Swarm – clustering the containers
  • 28. Where can Docker be helpful?
  • 29. …when new dev starts configuring project
  • 30. …it works on my machine!
  • 31. J2EE Application in Docker - demo • https://github.com/mgreau/docker4dev-tennistour-app
  • 33. 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/
  • 34. RPI + Docker • LIVE DEMO – hypriot OS httpd • https://vimeo.com/131966874
  • 35. DockerCon 2015 Challenge • How many containers could really be started on PI 2? • http://www.slideshare.net/Docker/docker-online-meetup-27- raspberry-pi-dockercon-challenge
  • 36. Docker in Cloud • Digital Ocean • UI Tutum.co – worth to try! • Amazon • Microsoft Azure • Google Cloud
  • 37. $ Price $ • Digital Ocean: $5 / 512 MB, 1 core, 20 GB SSD, 1TB Transfer • Amazon: ? • 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
  • 40. 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 • Demo ASP.NET in Docker
  • 41. Docker and PHP ? • Piece of cake ;-) • Live demo
  • 42. Docker orchestration • Docker Swarm • Kubernetes • Apache Mesos
  • 43. Run GUI in Docker? • Why not? • https://blog.jessfraz.com/post/docker-containers-on-the-desktop/
  • 45. Dockercraft • A simple Minecraft Docker client, to visualize and manage Docker containers.
  • 47. What’s in Docker roadmap? • Official ARM support • Docker on Windows Server • Docker on IBM systems, Solaris
  • 48. Troubles you may face…. ….with Docker
  • 49. 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 (!!!!)
  • 50. Docker Public Registry and license terms 
  • 51. 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
  • 52. 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 ? • $$$ = MAIN PROBLEM 
  • 54. Many thanks to… • Vendavo CZ for helping me with my presentation! • And for supporting our “after party” • Tieto CZ for JUG Ostrava organization! • @VitekTajzich for his talk about Yowie
  • 55. Links: • My demos • https://github.com/damovsky/jug-ostrava-docker • Yowie – Open source project presented by @VitekTajzich • https://github.com/vendavo/yowie