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
Ad

More Related Content

What's hot (20)

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
Ajeet Singh Raina
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
Venkata Naga Ravi
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
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
dotCloud
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Jirayut Nimsaeng
 
Web fundamentals
Web fundamentalsWeb fundamentals
Web fundamentals
Nguyen Van Vuong
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
dotCloud
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
Jérôme Petazzoni
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
dotCloud
 
Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
Jirayut Nimsaeng
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
Larry Cai
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
Weerayut Hongsa
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
JEMLI Fathi
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Docker, Inc.
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
dotCloud
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
Dr Ganesh Iyer
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Luong Vo
 
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
Ajeet Singh Raina
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
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
dotCloud
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
dotCloud
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
Jérôme Petazzoni
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
dotCloud
 
Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
Jirayut Nimsaeng
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
Larry Cai
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
Weerayut Hongsa
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
JEMLI Fathi
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Docker, Inc.
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
dotCloud
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
Dr Ganesh Iyer
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Luong Vo
 

Similar to Dockerize the World (20)

Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
Daniel Palstra
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
balaji257
 
ma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptxma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
Docker for dev
Docker for devDocker for dev
Docker for dev
Erik Talboom
 
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
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by Step
Adnan Siddiqi
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Wyn B. Van Devanter
 
Django and Docker
Django and DockerDjango and Docker
Django and Docker
Docker, Inc.
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, Inc.
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
DockerCon EU 2015 Barcelona
DockerCon EU 2015 BarcelonaDockerCon EU 2015 Barcelona
DockerCon EU 2015 Barcelona
Roman Dembitsky
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
dotCloud
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
Alper Unal
 
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
Watcharin Yang-Ngam
 
Docker Started
Docker StartedDocker Started
Docker Started
Victor S. Recio
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Wyn B. Van Devanter
 
Docker
DockerDocker
Docker
Codeister Technolgoies
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with Docker
Laura Frank Tacho
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
Daniel Palstra
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
ma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptxma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
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
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by Step
Adnan Siddiqi
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
DockerCon EU 2015 Barcelona
DockerCon EU 2015 BarcelonaDockerCon EU 2015 Barcelona
DockerCon EU 2015 Barcelona
Roman Dembitsky
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
dotCloud
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
Alper Unal
 
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
Watcharin Yang-Ngam
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with Docker
Laura Frank Tacho
 
Ad

Recently uploaded (20)

Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Ad

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