SlideShare a Scribd company logo
1 of 46
Download to read offline
The container revolution
Staring Docker, CoreOS, Rocket and guests
December 27th, 2014
Anchor Coworking
Romain Dorgueil
romain@monk.cx
Who am I ?
Romain Dorgueil
Founding partner / Tech Advisor @ WeAreTheShops
Founder / CTO @ Monk
➔ Startupper
➔ DevOps
➔ Python & Linux
➔ Electronic sound distorder
hello@monk.cx
Monk.cx ?
Most affordable Chief Data Officer ever.
➔ Data management
➔ Data processing
➔ Data visualisation
➔ Data reporting
➔ Geek & Biz friendly.
hello@monk.cx
Monk.cx ?
Most affordable Chief Data Officer ever.
➔ Different flavours
◆ Software (runs on your laptop)
◆ Service (runs on our servers)
◆ Appliance (runs on your servers)
➔ Distributed
◆ Sync & deploy as simple as git pull/push
hello@monk.cx
Monk.cx ?
http://monk.cx/
hello@monk.cx
Monk.cx ?
http://monk.cx/
hello@monk.cx
DATA !
</advertising>
Containers : the origins
Containers : the origins
«The system, developed after World
War II, dramatically reduced
transport costs, supported the post-
war boom in international trade,
and was a major element in
globalization.»
Source : Wikipedia : Containerization
Containers : the origins
IT Companies : Dev & Ops
➔ Dev & Ops silos are communication
antipattern
➔ Communication is expensive
IT Companies : Dev & Ops
➔ Developer release a software ...
◆ Don’t want to know about hosting
➔ Operations host a software …
◆ Don’t want to know how it works
➔ Problem !
IT Companies : Dev & Ops
➔ Modern applications are more and
more versatile …
◆ We try a lot more technologies
◆ We build smaller components with a lot more
different stuff
example : a java frontend with lots of microservices in python,
node, ruby and some distributed services written in haskell or
go is not so rare.
➔ Ops can’t possibly know a lot about
what they run.
Containers in computing
➔ Package applications in a normalized
container
➔ Deliver things that always look the
same from the outside
➔ Learn how to operate it once, and host
anything the same way
➔ Developers can focus on development
➔ Operations can focus on operations
➔ Run things
➔ Monitor running things
➔ Don’t trust those running things
➔ Don’t care about what’s running
Containers in computing
So what is Docker ?
Docker is an ecosystem defining norms
and providing tools make the IT
«container revolution» possible.
Docker is not the way. Docker is one way
to containairise applications, and the first
to get huge traction from professionals.
Traction ?
GAFAs and little brothers all says
«I’m doing it for ages»
or …
«I want a piece of the cake»
Docker VS Virtual Machines
Docker
➔ Modern Linux (3.8+)
➔ Linux Containers (LXC)
➔ Another Union File System (AUFS)
➔ Docker Server (and client …)
Docker
➔ Client / Server
➔ Manage lifecycle of LXC
◆ nsinit
◆ nsenter
➔ Manage images
◆ Build
◆ Run
➔ Manage files
◆ AUFS
◆ Volumes
◆ Backups
Docker : Images
➔ Complete snapshot of a system state
➔ Hints about exposed ports
➔ Infos about volumes
Docker : Images
Example
docker pull -a nginx
docker images | grep nginx
Docker : Containers
➔ Take an image
➔ Add some environment
➔ Run it
Docker : Containers
Example
docker run -p 8080:80 nginx:1.7.6
docker run -it --entrypoint=/bin/bash nginx:1.7.6 -i
docker run --detach -p 8080:80 nginx:1.7.6
docker ps
docker run --detach -p 8080:80 --name=web nginx:1.7.6
Docker : Volumes
➔ System runs in AUFS
➔ Everything is ephemeral ...
➔ … but volumes
Volumes are directories marked that will
live in the host system.
Docker : Volumes
Example
docker run -p 8080:80 -v /usr/share/nginx/html nginx:1.7.6
mkdir website; vim website/index.html
docker run -p 8080:80 -v `pwd`/website:/usr/share/nginx/html nginx:1.7.6
docker run -p 8080:80 -v `pwd`/website:/usr/share/nginx/html:ro nginx:1.7.6
docker run -p 8080:80 -v `pwd`/website:/usr/share/nginx/html:ro nginx:1.7.9
Docker : Ports
Example
docker run -p 8080:80 nginx:1.7.6
docker run -P nginx:1.7.6
Docker : Links
App 1
HTTP on port 8080
Database
MySQL (port 3306)
App 2
HTTP on port 5000
Load balancer
HTTP on port 80
Docker : Links
Example
In a moment, with demo.
Docker : App & Data Containers
Applications container run stuff.
Data containers are here to define
volumes, and exist without running.
You can run a container with “volumes
from” another container.
Docker : App & Data Containers
Example
docker run --name=dbdata mysql:5.5 true
docker ps -al
docker run --name=db -d -e MYSQL_ROOT_PASSWORD=root 
--volumes-from dbdata -p 3306:3306 mysql:5.5
mysql -h 127.0.0.1 -uroot -p
Dockerfiles
Create repeatable recipes to build
containers.
Define exposed ports, volumes, what to
include, etc.
Dockerfiles
Example
FROM google/python-runtime
MAINTAINER John Doe <john@example.com>
COPY …
EXPOSE …
ENTRYPOINT …
CMD …
docker build -t my-python-app .
docker run -p 8081:8080 my-python-app
Demo : Wordpress
Database already run in container “db”
Let’s start a wordpress container, with a
link to db.
docker run --name wp --link db:mysql 
-e WORDPRESS_DB_PASSWORD=root -d -P wordpress
Demo : Wordpress
Enough time ? Add a nginx front
container.
upstream wordpress {
server wordpress:5000;
}
server {
listen 80 default;
server_name wordpress.local;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://wordpress;
}
}
The ecosystem : Docker Inc.
➔ Docker Hub
➔ libcontainer
➔ libswarm
The ecosystem : CoreOS
➔ CoreOS
➔ etcd
➔ fleetd
➔ flannel
➔ rocket
The ecosystem : Google
➔ Kubernetes
➔ Google Container Engine
➔ CAdvisor
➔ Python runtime ...
The ecosystem : Apache
➔ Mesos
The ecosystem : Lot more ...
➔ Digital Ocean
➔ Tutum
➔ Amazon EC2 Container Service (ECS)
➔ … endless list here ...
Q&A
Follow me on twitter : @hartym Ask me anything: romain@monk.cx
Q&A
➔ How to setup docker on mac?
Follow me on twitter : @hartym Ask me anything: romain@monk.cx
Q&A
➔ Should docker be used on a per-
website basis?
➔ How to easily setup docker and git
deployment with some <insert your
favorite here> backend?
Follow me on twitter : @hartym Ask me anything: romain@monk.cx
Q&A
➔ Performance? Benchmarks?
- Containers
- AUFS
Follow me on twitter : @hartym Ask me anything: romain@monk.cx
More Q&A
Follow me on twitter : @hartym Ask me anything: romain@monk.cx
Thanks!
Follow me on twitter : @hartym Ask me anything: romain@monk.cx

More Related Content

What's hot

Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Khelender Sasan
 
Docker Container-Introduction and Features
Docker Container-Introduction and FeaturesDocker Container-Introduction and Features
Docker Container-Introduction and FeaturesAshnikbiz
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Edureka!
 
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareStop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareLaura Frank Tacho
 
Docker for developers
Docker for developersDocker for developers
Docker for developersandrzejsydor
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginnersJuneyoung Oh
 
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Edureka!
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Yogesh Wadile
 
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 CochranedotCloud
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basicsSourabh Saxena
 
DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDocker, Inc.
 
DCEU 18: Automating Docker Enterprise: Hands-off Install and Upgrade
DCEU 18: Automating Docker Enterprise: Hands-off Install and UpgradeDCEU 18: Automating Docker Enterprise: Hands-off Install and Upgrade
DCEU 18: Automating Docker Enterprise: Hands-off Install and UpgradeDocker, Inc.
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerLaura Frank Tacho
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
 
Intro to docker - innovation demo 2022
Intro to docker - innovation demo 2022Intro to docker - innovation demo 2022
Intro to docker - innovation demo 2022Hussain Mansoor
 

What's hot (20)

Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
 
Docker Container-Introduction and Features
Docker Container-Introduction and FeaturesDocker Container-Introduction and Features
Docker Container-Introduction and Features
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
 
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareStop Being Lazy and Test Your Software
Stop Being Lazy and Test Your Software
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
 
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
 
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
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
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
 
DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @Orbitz
 
DCEU 18: Automating Docker Enterprise: Hands-off Install and Upgrade
DCEU 18: Automating Docker Enterprise: Hands-off Install and UpgradeDCEU 18: Automating Docker Enterprise: Hands-off Install and Upgrade
DCEU 18: Automating Docker Enterprise: Hands-off Install and Upgrade
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Intro to docker - innovation demo 2022
Intro to docker - innovation demo 2022Intro to docker - innovation demo 2022
Intro to docker - innovation demo 2022
 

Viewers also liked

Docker-OVS
Docker-OVSDocker-OVS
Docker-OVSsnrism
 
'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen DayDocker, Inc.
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016Docker, Inc.
 
Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0 Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0 Docker, Inc.
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker, Inc.
 
Containerd - core container runtime component
Containerd - core container runtime component Containerd - core container runtime component
Containerd - core container runtime component Docker, Inc.
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker, Inc.
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWSAndrew Heifetz
 
containerd and CRI
containerd and CRIcontainerd and CRI
containerd and CRIDocker, Inc.
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
 

Viewers also liked (10)

Docker-OVS
Docker-OVSDocker-OVS
Docker-OVS
 
'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0 Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
Containerd - core container runtime component
Containerd - core container runtime component Containerd - core container runtime component
Containerd - core container runtime component
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data plane
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
 
containerd and CRI
containerd and CRIcontainerd and CRI
containerd and CRI
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 

Similar to Docker and the Container Revolution

Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
Containers Intro - Copy.pptx
Containers Intro - Copy.pptxContainers Intro - Copy.pptx
Containers Intro - Copy.pptxkarthick656723
 
Docker for developers
Docker for developersDocker for developers
Docker for developersAnvay Patil
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Ricardo Amaro
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
 
Introducing docker
Introducing dockerIntroducing docker
Introducing dockerDharmit Shah
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
 
Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020CloudHero
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshopvty
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
 

Similar to Docker and the Container Revolution (20)

Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Containers Intro - Copy.pptx
Containers Intro - Copy.pptxContainers Intro - Copy.pptx
Containers Intro - Copy.pptx
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
Introducing docker
Introducing dockerIntroducing docker
Introducing docker
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020
 
Docker 101
Docker 101 Docker 101
Docker 101
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 
Docker training
Docker trainingDocker training
Docker training
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Docker and the Container Revolution

  • 1. The container revolution Staring Docker, CoreOS, Rocket and guests December 27th, 2014 Anchor Coworking Romain Dorgueil romain@monk.cx
  • 2. Who am I ? Romain Dorgueil Founding partner / Tech Advisor @ WeAreTheShops Founder / CTO @ Monk ➔ Startupper ➔ DevOps ➔ Python & Linux ➔ Electronic sound distorder hello@monk.cx
  • 3. Monk.cx ? Most affordable Chief Data Officer ever. ➔ Data management ➔ Data processing ➔ Data visualisation ➔ Data reporting ➔ Geek & Biz friendly. hello@monk.cx
  • 4. Monk.cx ? Most affordable Chief Data Officer ever. ➔ Different flavours ◆ Software (runs on your laptop) ◆ Service (runs on our servers) ◆ Appliance (runs on your servers) ➔ Distributed ◆ Sync & deploy as simple as git pull/push hello@monk.cx
  • 9. Containers : the origins «The system, developed after World War II, dramatically reduced transport costs, supported the post- war boom in international trade, and was a major element in globalization.» Source : Wikipedia : Containerization
  • 10. Containers : the origins
  • 11. IT Companies : Dev & Ops ➔ Dev & Ops silos are communication antipattern ➔ Communication is expensive
  • 12. IT Companies : Dev & Ops ➔ Developer release a software ... ◆ Don’t want to know about hosting ➔ Operations host a software … ◆ Don’t want to know how it works ➔ Problem !
  • 13. IT Companies : Dev & Ops ➔ Modern applications are more and more versatile … ◆ We try a lot more technologies ◆ We build smaller components with a lot more different stuff example : a java frontend with lots of microservices in python, node, ruby and some distributed services written in haskell or go is not so rare. ➔ Ops can’t possibly know a lot about what they run.
  • 14. Containers in computing ➔ Package applications in a normalized container ➔ Deliver things that always look the same from the outside ➔ Learn how to operate it once, and host anything the same way ➔ Developers can focus on development ➔ Operations can focus on operations
  • 15. ➔ Run things ➔ Monitor running things ➔ Don’t trust those running things ➔ Don’t care about what’s running Containers in computing
  • 16. So what is Docker ? Docker is an ecosystem defining norms and providing tools make the IT «container revolution» possible. Docker is not the way. Docker is one way to containairise applications, and the first to get huge traction from professionals.
  • 17. Traction ? GAFAs and little brothers all says «I’m doing it for ages» or … «I want a piece of the cake»
  • 18. Docker VS Virtual Machines
  • 19. Docker ➔ Modern Linux (3.8+) ➔ Linux Containers (LXC) ➔ Another Union File System (AUFS) ➔ Docker Server (and client …)
  • 20. Docker ➔ Client / Server ➔ Manage lifecycle of LXC ◆ nsinit ◆ nsenter ➔ Manage images ◆ Build ◆ Run ➔ Manage files ◆ AUFS ◆ Volumes ◆ Backups
  • 21. Docker : Images ➔ Complete snapshot of a system state ➔ Hints about exposed ports ➔ Infos about volumes
  • 22. Docker : Images Example docker pull -a nginx docker images | grep nginx
  • 23. Docker : Containers ➔ Take an image ➔ Add some environment ➔ Run it
  • 24. Docker : Containers Example docker run -p 8080:80 nginx:1.7.6 docker run -it --entrypoint=/bin/bash nginx:1.7.6 -i docker run --detach -p 8080:80 nginx:1.7.6 docker ps docker run --detach -p 8080:80 --name=web nginx:1.7.6
  • 25. Docker : Volumes ➔ System runs in AUFS ➔ Everything is ephemeral ... ➔ … but volumes Volumes are directories marked that will live in the host system.
  • 26. Docker : Volumes Example docker run -p 8080:80 -v /usr/share/nginx/html nginx:1.7.6 mkdir website; vim website/index.html docker run -p 8080:80 -v `pwd`/website:/usr/share/nginx/html nginx:1.7.6 docker run -p 8080:80 -v `pwd`/website:/usr/share/nginx/html:ro nginx:1.7.6 docker run -p 8080:80 -v `pwd`/website:/usr/share/nginx/html:ro nginx:1.7.9
  • 27. Docker : Ports Example docker run -p 8080:80 nginx:1.7.6 docker run -P nginx:1.7.6
  • 28. Docker : Links App 1 HTTP on port 8080 Database MySQL (port 3306) App 2 HTTP on port 5000 Load balancer HTTP on port 80
  • 29. Docker : Links Example In a moment, with demo.
  • 30. Docker : App & Data Containers Applications container run stuff. Data containers are here to define volumes, and exist without running. You can run a container with “volumes from” another container.
  • 31. Docker : App & Data Containers Example docker run --name=dbdata mysql:5.5 true docker ps -al docker run --name=db -d -e MYSQL_ROOT_PASSWORD=root --volumes-from dbdata -p 3306:3306 mysql:5.5 mysql -h 127.0.0.1 -uroot -p
  • 32. Dockerfiles Create repeatable recipes to build containers. Define exposed ports, volumes, what to include, etc.
  • 33. Dockerfiles Example FROM google/python-runtime MAINTAINER John Doe <john@example.com> COPY … EXPOSE … ENTRYPOINT … CMD … docker build -t my-python-app . docker run -p 8081:8080 my-python-app
  • 34. Demo : Wordpress Database already run in container “db” Let’s start a wordpress container, with a link to db. docker run --name wp --link db:mysql -e WORDPRESS_DB_PASSWORD=root -d -P wordpress
  • 35. Demo : Wordpress Enough time ? Add a nginx front container. upstream wordpress { server wordpress:5000; } server { listen 80 default; server_name wordpress.local; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://wordpress; } }
  • 36. The ecosystem : Docker Inc. ➔ Docker Hub ➔ libcontainer ➔ libswarm
  • 37. The ecosystem : CoreOS ➔ CoreOS ➔ etcd ➔ fleetd ➔ flannel ➔ rocket
  • 38. The ecosystem : Google ➔ Kubernetes ➔ Google Container Engine ➔ CAdvisor ➔ Python runtime ...
  • 39. The ecosystem : Apache ➔ Mesos
  • 40. The ecosystem : Lot more ... ➔ Digital Ocean ➔ Tutum ➔ Amazon EC2 Container Service (ECS) ➔ … endless list here ...
  • 41. Q&A Follow me on twitter : @hartym Ask me anything: romain@monk.cx
  • 42. Q&A ➔ How to setup docker on mac? Follow me on twitter : @hartym Ask me anything: romain@monk.cx
  • 43. Q&A ➔ Should docker be used on a per- website basis? ➔ How to easily setup docker and git deployment with some <insert your favorite here> backend? Follow me on twitter : @hartym Ask me anything: romain@monk.cx
  • 44. Q&A ➔ Performance? Benchmarks? - Containers - AUFS Follow me on twitter : @hartym Ask me anything: romain@monk.cx
  • 45. More Q&A Follow me on twitter : @hartym Ask me anything: romain@monk.cx
  • 46. Thanks! Follow me on twitter : @hartym Ask me anything: romain@monk.cx