SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Why?
That eternal crap…!
(i.e Having no idea what’s wrong)
Passing on the headache!
Not the solution
Some use cases
• Solving dependency hell
• Configure once, run anywhere
• Continuous integration
• Create sandboxed app
• Run your own PaaS
So, what’s Docker
anyway?
Isolation Portability
Provisioning
Hypervisors/VM
Chef, Puppet, Ansible
Your app, libraries
Docker
Docker vs. VM
Hardware
Linux/Kernel
Container Container
Container Container
Container Container
Hardware
Linux/Kernel
VM
Linux/Kernel
VM
Linux/Kernel
VM
Linux/Kernel
VM
Linux/Kernel
Shared Resource, Lightweight,
Portable, Fast to boot
Dedicated Resource, Heavy, Not
portable, Comparatively slower boot
Under the Hood
LXC
Dream inside dream
inside dream….
(The Inception in Linux)
Namespaces
& cgroups
Isolated pid, net, uid….
Copy-on-
write
Filesystem
AUFS, btrfs, ZFS….
Installation
Do It Yourself
Docker Vocabulary
• Repository
• Image
• Tag
$ docker images ubuntu
REPOSITORY TAG IMAGE ID
ubuntu 10.04 9cc9ea5ea540
ubuntu 12.04 9cd978db300e
ubuntu 12.10 5ac751e8d623
ubuntu 13.04 eb601b8965b8
ubuntu 13.10 9f676bd305a4
ubuntu latest 9cd978db300e
ubuntu lucid 9cc9ea5ea540
ubuntu precise 9cd978db300e
ubuntu quantal 5ac751e8d623
ubuntu raring eb601b8965b8
ubuntu saucy 9f676bd305a4
Docker Vocabulary
• Registry $ docker pull ubuntu:12.04
Pulling repository ubuntu
c0fe63f9a4c1: Pulling dependent layers
511136ea3c5a: Download complete
6170bb7b0ad1: Download complete
79fdb1362c84: Downloading [===> ]56 MB/66.64 MB 10m9s
Docker Vocabulary
• Index $ docker login
Username: mehdi
Password:
Email: mehdi@team.okdo.it
Login Succeeded
Docker Vocabulary
• Container
$ docker run ubuntu:12.04 echo Hello World
Hello World
$ docker run -i -t ubuntu:12.04 /bin/bash
root@a09d485c9a9f:/# uname -a
Linux a09d485c9a9f 3.13.3-tinycore64 #1 SMP Wed
Mar 26 03:16:13 UTC 2014 x86_64 x86_64 x86_64
GNU/Linux
!
root@a09d485c9a9f:/#
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS !
f0638f0a1c7a ubuntu:12.04 /bin/bash 46 minutes ago Up 4 seconds
Tip: Press Ctrl+P
and Ctrl+Q to
detach running
containers
Docker Vocabulary
• Dockerfile $ cat Dockerfile
FROM ubuntu:12.04!
!
MAINTAINER Mehdi Hasan "mehdi@team.okdo.it"!
!
RUN apt-get -y install python-software-properties!
RUN add-apt-repository ppa:chris-lea/node.js!
RUN apt-get update!
RUN apt-get -y install python g++ make nodejs!
$ docker build -t mehdi/nodejs .
There is a
trailing dot
$ docker push mehdi/nodejs
Image c0fe63f9a4c1 already pushed, skipping
Image 5ff6986cd174 already pushed, skipping
Image 3867fae91348 already pushed, skipping
Image 4574f80c91e4 already pushed, skipping
Image 37c2cc34fa4e already pushed, skipping
757db77867dd: Image successfully pushed
Pushing tag for rev [757db77867dd] on {https://
registry-1.docker.io/v1/repositories/mehdi/nodejs/tags/
latest}
Any idea
why these
images are
skipped?
Container vs. Image!
Still Puzzled?
Running container from an image:
Creating image from a container:
$ docker ps -a!
$ docker commit -m “Image description"
<CONTAINER_ID> <USERNAME>/<REPO>
$ docker run -i -t ubuntu:12.04 /bin/bash
Lets see a Demo
Docker Workflow
Dev ProdRegistry
Public/Private
Demo
Deploying a sample app on the cloud using Docker
Your Next Weekend Fun Project:
Deploy something with Dokku
Dokku
Docker powered mini-Heroku in around 100 lines of Bash
See the demo here: http://vimeo.com/68631325
https://github.com/progrium/dokku
The rabbit hole goes deeper
than that…
• How to deal with data, logs, file uploads? Where to store?
Inside container? Inside host? Inside another container?



Hint: Read http://docs.docker.io/en/latest/use/
working_with_volumes/
• How to deal with distributed systems? 



Hint: Follow http://www.centurylinklabs.com/category/
docker-posts/
Keep following…
• https://coreos.com/
• http://www.confd.io/
• http://www.serfdom.io/
• http://www.dockerbook.com/ (Not yet released)*
* As of May, 2014
Docker cheat sheet
• https://gist.github.com/wsargent/7049221
• https://coderwall.com/p/2es5jw
Questions?

Mais conteúdo relacionado

Mais procurados

Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Jérôme Petazzoni
 
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
 
Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on DockerRightScale
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Ruoshi Ling
 
Azure container service docker-ha noi com
Azure container service   docker-ha noi comAzure container service   docker-ha noi com
Azure container service docker-ha noi comVan Phuc
 
Docker 原理與實作
Docker 原理與實作Docker 原理與實作
Docker 原理與實作kao kuo-tung
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...Sébastien Portebois
 
QNAP COSCUP Container Station
QNAP COSCUP Container StationQNAP COSCUP Container Station
QNAP COSCUP Container StationWu Fan-Cheng
 
First steps to docker
First steps to dockerFirst steps to docker
First steps to dockerGuilhem Marty
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016Walid Shaari
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutesLarry Cai
 
Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)bridgetkromhout
 
Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?Michael Boelen
 
Docker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよDocker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよYusuke Kon
 
Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in developmentAdam Culp
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XJérôme Petazzoni
 

Mais procurados (20)

Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)
 
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,...
 
Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on Docker
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
Azure container service docker-ha noi com
Azure container service   docker-ha noi comAzure container service   docker-ha noi com
Azure container service docker-ha noi com
 
A Hands-on Introduction to Docker
A Hands-on Introduction to DockerA Hands-on Introduction to Docker
A Hands-on Introduction to Docker
 
Docker 原理與實作
Docker 原理與實作Docker 原理與實作
Docker 原理與實作
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...
 
Docker by Example - Quiz
Docker by Example - QuizDocker by Example - Quiz
Docker by Example - Quiz
 
QNAP COSCUP Container Station
QNAP COSCUP Container StationQNAP COSCUP Container Station
QNAP COSCUP Container Station
 
First steps to docker
First steps to dockerFirst steps to docker
First steps to docker
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
 
Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)
 
Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?
 
Docker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよDocker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよ
 
Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in development
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
 

Semelhante a Docker - Lightweight Virtualization

The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationErica Windisch
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystempsconnolly
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
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 module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Partner S.A.
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortalsHenryk Konsek
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkRed Hat Developers
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & DevopsMaciej Lasyk
 
Docker and OpenStack at Rackspace
Docker and OpenStack at RackspaceDocker and OpenStack at Rackspace
Docker and OpenStack at RackspaceDocker, Inc.
 
OpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQdotCloud
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesJérôme Petazzoni
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Nicolas Poggi
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoHannes Hapke
 

Semelhante a Docker - Lightweight Virtualization (20)

Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystem
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
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...
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
 
Docker 101
Docker 101 Docker 101
Docker 101
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & Devops
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
 
Docker
DockerDocker
Docker
 
Docker and OpenStack at Rackspace
Docker and OpenStack at RackspaceDocker and OpenStack at Rackspace
Docker and OpenStack at Rackspace
 
OpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQ
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize Django
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Docker - Lightweight Virtualization

  • 1.
  • 3. That eternal crap…! (i.e Having no idea what’s wrong)
  • 4. Passing on the headache! Not the solution
  • 5. Some use cases • Solving dependency hell • Configure once, run anywhere • Continuous integration • Create sandboxed app • Run your own PaaS
  • 8. Docker vs. VM Hardware Linux/Kernel Container Container Container Container Container Container Hardware Linux/Kernel VM Linux/Kernel VM Linux/Kernel VM Linux/Kernel VM Linux/Kernel Shared Resource, Lightweight, Portable, Fast to boot Dedicated Resource, Heavy, Not portable, Comparatively slower boot
  • 9. Under the Hood LXC Dream inside dream inside dream…. (The Inception in Linux) Namespaces & cgroups Isolated pid, net, uid…. Copy-on- write Filesystem AUFS, btrfs, ZFS….
  • 11. Docker Vocabulary • Repository • Image • Tag $ docker images ubuntu REPOSITORY TAG IMAGE ID ubuntu 10.04 9cc9ea5ea540 ubuntu 12.04 9cd978db300e ubuntu 12.10 5ac751e8d623 ubuntu 13.04 eb601b8965b8 ubuntu 13.10 9f676bd305a4 ubuntu latest 9cd978db300e ubuntu lucid 9cc9ea5ea540 ubuntu precise 9cd978db300e ubuntu quantal 5ac751e8d623 ubuntu raring eb601b8965b8 ubuntu saucy 9f676bd305a4
  • 12. Docker Vocabulary • Registry $ docker pull ubuntu:12.04 Pulling repository ubuntu c0fe63f9a4c1: Pulling dependent layers 511136ea3c5a: Download complete 6170bb7b0ad1: Download complete 79fdb1362c84: Downloading [===> ]56 MB/66.64 MB 10m9s
  • 13. Docker Vocabulary • Index $ docker login Username: mehdi Password: Email: mehdi@team.okdo.it Login Succeeded
  • 14. Docker Vocabulary • Container $ docker run ubuntu:12.04 echo Hello World Hello World $ docker run -i -t ubuntu:12.04 /bin/bash root@a09d485c9a9f:/# uname -a Linux a09d485c9a9f 3.13.3-tinycore64 #1 SMP Wed Mar 26 03:16:13 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux ! root@a09d485c9a9f:/# $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS ! f0638f0a1c7a ubuntu:12.04 /bin/bash 46 minutes ago Up 4 seconds Tip: Press Ctrl+P and Ctrl+Q to detach running containers
  • 15. Docker Vocabulary • Dockerfile $ cat Dockerfile FROM ubuntu:12.04! ! MAINTAINER Mehdi Hasan "mehdi@team.okdo.it"! ! RUN apt-get -y install python-software-properties! RUN add-apt-repository ppa:chris-lea/node.js! RUN apt-get update! RUN apt-get -y install python g++ make nodejs! $ docker build -t mehdi/nodejs . There is a trailing dot $ docker push mehdi/nodejs Image c0fe63f9a4c1 already pushed, skipping Image 5ff6986cd174 already pushed, skipping Image 3867fae91348 already pushed, skipping Image 4574f80c91e4 already pushed, skipping Image 37c2cc34fa4e already pushed, skipping 757db77867dd: Image successfully pushed Pushing tag for rev [757db77867dd] on {https:// registry-1.docker.io/v1/repositories/mehdi/nodejs/tags/ latest} Any idea why these images are skipped?
  • 16. Container vs. Image! Still Puzzled? Running container from an image: Creating image from a container: $ docker ps -a! $ docker commit -m “Image description" <CONTAINER_ID> <USERNAME>/<REPO> $ docker run -i -t ubuntu:12.04 /bin/bash Lets see a Demo
  • 18. Demo Deploying a sample app on the cloud using Docker
  • 19. Your Next Weekend Fun Project: Deploy something with Dokku Dokku Docker powered mini-Heroku in around 100 lines of Bash See the demo here: http://vimeo.com/68631325 https://github.com/progrium/dokku
  • 20. The rabbit hole goes deeper than that… • How to deal with data, logs, file uploads? Where to store? Inside container? Inside host? Inside another container?
 
 Hint: Read http://docs.docker.io/en/latest/use/ working_with_volumes/ • How to deal with distributed systems? 
 
 Hint: Follow http://www.centurylinklabs.com/category/ docker-posts/
  • 21. Keep following… • https://coreos.com/ • http://www.confd.io/ • http://www.serfdom.io/ • http://www.dockerbook.com/ (Not yet released)* * As of May, 2014
  • 22. Docker cheat sheet • https://gist.github.com/wsargent/7049221 • https://coderwall.com/p/2es5jw