SlideShare a Scribd company logo
1 of 17
Download to read offline
Thiago Rondon, thiago@b-datum.com
Technical meeting b-datum

Monday, December 2, 13
VMs vs Containers
VM

App A App A’ App B

Guest
OS

Guest
OS

Guest
OS

Hypervisor (Type 2)

container

docker

Bin/libs Bin/libs Bin/libs

App App App App
A
A’
B
B’
Bin/libs

Host OS
SERVER

Monday, December 2, 13

Host OS
SERVER

Bin/libs
Containers
App A

App A’

Bin/libs
Original App
No OS to take
up space, resources,
or require restart.

Monday, December 2, 13

Copy of App

Modified App

No OS. Can share
/bin/libs

Union file system allows
us to only save the diffs.
Between container A
and container A’
LXC
“chroot() on steroids”

• LXC (LinuX Containers) let you run a

Linux system within another Linux system.

• a container is a group of processes on a
Linux box, put together in an isolated
environment.

• Inside the box, it look like a VM.
• Outside the box, it looks like a normal
processes.

Monday, December 2, 13
why LXC ?
• Speed - Fast boots, create VM, deploy tasks
• small footprint
• Virtualization - Own [net interface,fs]
• Isolation security and resources.
Monday, December 2, 13
AUFS
• Another Union File System
• Copy-on-write at the FS layer.

Monday, December 2, 13
Cgroup
• ulimit for groups of processes.
• limit, account and isolate resources.
• not perfect for limit I/O.

Monday, December 2, 13
Good example ?
• Do everything you do in VM, but fast!
• How many VMs do you need ?
• Continuous integration !!

Monday, December 2, 13
docker is user-friendly
interface to LXC.

Monday, December 2, 13
docker did all the
following...
•
•
•
•
•
•
•
•

Monday, December 2, 13

It downloaded the base image from the docker index
it created a new LXC container
It allocated a filesystem for it
Mounted a read-write layer
Allocated a network interface
Setup an IP for it, with network address translation
And then executed a process in there
Captured its output and printed it to you
Let’s rock.
•
•
•
•
•

Monday, December 2, 13

docker	
  search	
  ubuntu
docker	
  pull	
  ubuntu
docker	
  run	
  ubuntu	
  echo	
  “hello	
  b-­‐datum”
docker	
  run	
  ubuntu	
  apt-­‐get	
  install	
  -­‐y	
  memcached
docker	
  run	
  -­‐t	
  -­‐i	
  ubuntu	
  /bin/bash
Dockfile
#	
  just	
  for	
  test
FROM	
  ubuntu
RUN	
  apt-­‐get	
  install	
  -­‐y	
  memcached
MAINTAINER	
  Thiago	
  Rondon,	
  thiago@b-­‐datum.com
ENTRYPOINT	
  [“memcached”]
USER	
  daemon
EXPOSE	
  11211

docker build -t mymemcached - < MyDockFile

Monday, December 2, 13
docker exposes git-like commands for
comminting changes to running
containers.
Changes can be commited.
possible by AUFS.

Monday, December 2, 13
Images
•
•
•
•
•

Monday, December 2, 13

docker	
  ps	
  -­‐l
docker	
  commit	
  xxx	
  mystuff/memcached
docker	
  inspect	
  mystuff/memcached
docker	
  images
docker	
  push	
  mystuff/memcached
images & commits

Monday, December 2, 13
History
• docker history
• docker commit
• docker images -viz | dot -Tpng -o
docker.png

• docker images -tree
Monday, December 2, 13
Credits

• http://docker.io

Monday, December 2, 13

More Related Content

What's hot

Linux beginner's Workshop
Linux beginner's WorkshopLinux beginner's Workshop
Linux beginner's Workshopfutureshocked
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Performance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesPerformance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesSoheila Dehghanzadeh
 
Shell and its types in LINUX
Shell and its types in LINUXShell and its types in LINUX
Shell and its types in LINUXSHUBHA CHATURVEDI
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentationnishantsri
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsThomas Chacko
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker ComposeMario IC
 
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Edureka!
 
Docker: the road ahead
Docker: the road aheadDocker: the road ahead
Docker: the road aheadshykes
 

What's hot (20)

Linux beginner's Workshop
Linux beginner's WorkshopLinux beginner's Workshop
Linux beginner's Workshop
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Workshop
Docker WorkshopDocker Workshop
Docker Workshop
 
Performance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesPerformance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual Machines
 
Shell and its types in LINUX
Shell and its types in LINUXShell and its types in LINUX
Shell and its types in LINUX
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and Windows
 
Lxc- Introduction
Lxc- IntroductionLxc- Introduction
Lxc- Introduction
 
Docker intro
Docker introDocker intro
Docker intro
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker Compose
 
Linux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell ScriptingLinux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell Scripting
 
An Introduction To Linux
An Introduction To LinuxAn Introduction To Linux
An Introduction To Linux
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
 
Docker hands-on
Docker hands-onDocker hands-on
Docker hands-on
 
Docker volume
Docker volumeDocker volume
Docker volume
 
Linux in Urdu
 Linux in Urdu  Linux in Urdu
Linux in Urdu
 
Docker 101
Docker 101Docker 101
Docker 101
 
Docker: the road ahead
Docker: the road aheadDocker: the road ahead
Docker: the road ahead
 
Docker by demo
Docker by demoDocker by demo
Docker by demo
 

Similar to Docker

Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux ContainerBalaji Rajan
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortalsHenryk Konsek
 
Cloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - ContainersCloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - ContainersLinjith Kunnon
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionHao Fan
 
Docker - A Ruby Introduction
Docker - A Ruby IntroductionDocker - A Ruby Introduction
Docker - A Ruby IntroductionTyler Johnston
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to DockerJian Wu
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFJeffrey Sica
 
Shifter: Containers in HPC Environments
Shifter: Containers in HPC EnvironmentsShifter: Containers in HPC Environments
Shifter: Containers in HPC Environmentsinside-BigData.com
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsElasTest Project
 
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 containers : introduction
Docker containers : introductionDocker containers : introduction
Docker containers : introductionrinnocente
 
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
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 applicationRoman Rodomansky
 
Docker: do's and don'ts
Docker: do's and don'tsDocker: do's and don'ts
Docker: do's and don'tsPaolo Tonin
 
Docker intro
Docker introDocker intro
Docker introOleg Z
 

Similar to Docker (20)

Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
 
Cloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - ContainersCloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - Containers
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker - A Ruby Introduction
Docker - A Ruby IntroductionDocker - A Ruby Introduction
Docker - A Ruby Introduction
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
 
Shifter: Containers in HPC Environments
Shifter: Containers in HPC EnvironmentsShifter: Containers in HPC Environments
Shifter: Containers in HPC Environments
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
Introducing Docker
Introducing DockerIntroducing Docker
Introducing Docker
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Docker containers : introduction
Docker containers : introductionDocker containers : introduction
Docker containers : introduction
 
Docker 2014
Docker 2014Docker 2014
Docker 2014
 
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
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker: do's and don'ts
Docker: do's and don'tsDocker: do's and don'ts
Docker: do's and don'ts
 
Docker intro
Docker introDocker intro
Docker intro
 

More from Thiago Rondon

AppCívico - Tecnologias cívicas estão impactando políticas públicas
AppCívico - Tecnologias cívicas estão impactando políticas públicasAppCívico - Tecnologias cívicas estão impactando políticas públicas
AppCívico - Tecnologias cívicas estão impactando políticas públicasThiago Rondon
 
Democracia nas eleições
Democracia nas eleiçõesDemocracia nas eleições
Democracia nas eleiçõesThiago Rondon
 
IOTA - Open Indicators of Transparency and Accountability
IOTA - Open Indicators of Transparency and AccountabilityIOTA - Open Indicators of Transparency and Accountability
IOTA - Open Indicators of Transparency and AccountabilityThiago Rondon
 
Dados abertos é inovação
Dados abertos é inovaçãoDados abertos é inovação
Dados abertos é inovaçãoThiago Rondon
 
YAPC::2014 Accountability
YAPC::2014 AccountabilityYAPC::2014 Accountability
YAPC::2014 AccountabilityThiago Rondon
 
Provisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com JujuProvisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com JujuThiago Rondon
 
introducción a la Red Latinoamericana
introducción a la Red Latinoamericanaintroducción a la Red Latinoamericana
introducción a la Red LatinoamericanaThiago Rondon
 
TDC 2012 - You, Me and Opendata
TDC 2012 - You, Me and Opendata TDC 2012 - You, Me and Opendata
TDC 2012 - You, Me and Opendata Thiago Rondon
 
You, me and Opendata - v2
You, me and Opendata - v2You, me and Opendata - v2
You, me and Opendata - v2Thiago Rondon
 
OGP: You, Me and Opendata
OGP: You, Me and OpendataOGP: You, Me and Opendata
OGP: You, Me and OpendataThiago Rondon
 
Statim, time series interface for Perl.
Statim, time series interface for Perl.Statim, time series interface for Perl.
Statim, time series interface for Perl.Thiago Rondon
 
Opendata - Não posso fazer tijolos sem barro !
Opendata - Não posso fazer tijolos sem barro !Opendata - Não posso fazer tijolos sem barro !
Opendata - Não posso fazer tijolos sem barro !Thiago Rondon
 
Dados abertos do wikipedia ao governo
Dados abertos do wikipedia ao governoDados abertos do wikipedia ao governo
Dados abertos do wikipedia ao governoThiago Rondon
 
Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?Thiago Rondon
 
Datos abiertos, Gobierno y la sociedad en conjunto.
Datos abiertos, Gobierno y la sociedad en conjunto.Datos abiertos, Gobierno y la sociedad en conjunto.
Datos abiertos, Gobierno y la sociedad en conjunto.Thiago Rondon
 
OpenData-BR, [Captando] Dados públicos brasileiros
OpenData-BR, [Captando] Dados públicos brasileirosOpenData-BR, [Captando] Dados públicos brasileiros
OpenData-BR, [Captando] Dados públicos brasileirosThiago Rondon
 

More from Thiago Rondon (20)

AppCívico - Tecnologias cívicas estão impactando políticas públicas
AppCívico - Tecnologias cívicas estão impactando políticas públicasAppCívico - Tecnologias cívicas estão impactando políticas públicas
AppCívico - Tecnologias cívicas estão impactando políticas públicas
 
Democracia nas eleições
Democracia nas eleiçõesDemocracia nas eleições
Democracia nas eleições
 
IOTA - Open Indicators of Transparency and Accountability
IOTA - Open Indicators of Transparency and AccountabilityIOTA - Open Indicators of Transparency and Accountability
IOTA - Open Indicators of Transparency and Accountability
 
Dados abertos é inovação
Dados abertos é inovaçãoDados abertos é inovação
Dados abertos é inovação
 
YAPC::2014 Accountability
YAPC::2014 AccountabilityYAPC::2014 Accountability
YAPC::2014 Accountability
 
IOTA
IOTAIOTA
IOTA
 
Auto Scaling AWS
Auto Scaling AWSAuto Scaling AWS
Auto Scaling AWS
 
Provisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com JujuProvisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com Juju
 
introducción a la Red Latinoamericana
introducción a la Red Latinoamericanaintroducción a la Red Latinoamericana
introducción a la Red Latinoamericana
 
Iota
IotaIota
Iota
 
TDC 2012 - You, Me and Opendata
TDC 2012 - You, Me and Opendata TDC 2012 - You, Me and Opendata
TDC 2012 - You, Me and Opendata
 
You, me and Opendata - v2
You, me and Opendata - v2You, me and Opendata - v2
You, me and Opendata - v2
 
OGP: You, Me and Opendata
OGP: You, Me and OpendataOGP: You, Me and Opendata
OGP: You, Me and Opendata
 
Onde Acontece ?
Onde Acontece ?Onde Acontece ?
Onde Acontece ?
 
Statim, time series interface for Perl.
Statim, time series interface for Perl.Statim, time series interface for Perl.
Statim, time series interface for Perl.
 
Opendata - Não posso fazer tijolos sem barro !
Opendata - Não posso fazer tijolos sem barro !Opendata - Não posso fazer tijolos sem barro !
Opendata - Não posso fazer tijolos sem barro !
 
Dados abertos do wikipedia ao governo
Dados abertos do wikipedia ao governoDados abertos do wikipedia ao governo
Dados abertos do wikipedia ao governo
 
Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?
 
Datos abiertos, Gobierno y la sociedad en conjunto.
Datos abiertos, Gobierno y la sociedad en conjunto.Datos abiertos, Gobierno y la sociedad en conjunto.
Datos abiertos, Gobierno y la sociedad en conjunto.
 
OpenData-BR, [Captando] Dados públicos brasileiros
OpenData-BR, [Captando] Dados públicos brasileirosOpenData-BR, [Captando] Dados públicos brasileiros
OpenData-BR, [Captando] Dados públicos brasileiros
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

Docker

  • 1. Thiago Rondon, thiago@b-datum.com Technical meeting b-datum Monday, December 2, 13
  • 2. VMs vs Containers VM App A App A’ App B Guest OS Guest OS Guest OS Hypervisor (Type 2) container docker Bin/libs Bin/libs Bin/libs App App App App A A’ B B’ Bin/libs Host OS SERVER Monday, December 2, 13 Host OS SERVER Bin/libs
  • 3. Containers App A App A’ Bin/libs Original App No OS to take up space, resources, or require restart. Monday, December 2, 13 Copy of App Modified App No OS. Can share /bin/libs Union file system allows us to only save the diffs. Between container A and container A’
  • 4. LXC “chroot() on steroids” • LXC (LinuX Containers) let you run a Linux system within another Linux system. • a container is a group of processes on a Linux box, put together in an isolated environment. • Inside the box, it look like a VM. • Outside the box, it looks like a normal processes. Monday, December 2, 13
  • 5. why LXC ? • Speed - Fast boots, create VM, deploy tasks • small footprint • Virtualization - Own [net interface,fs] • Isolation security and resources. Monday, December 2, 13
  • 6. AUFS • Another Union File System • Copy-on-write at the FS layer. Monday, December 2, 13
  • 7. Cgroup • ulimit for groups of processes. • limit, account and isolate resources. • not perfect for limit I/O. Monday, December 2, 13
  • 8. Good example ? • Do everything you do in VM, but fast! • How many VMs do you need ? • Continuous integration !! Monday, December 2, 13
  • 9. docker is user-friendly interface to LXC. Monday, December 2, 13
  • 10. docker did all the following... • • • • • • • • Monday, December 2, 13 It downloaded the base image from the docker index it created a new LXC container It allocated a filesystem for it Mounted a read-write layer Allocated a network interface Setup an IP for it, with network address translation And then executed a process in there Captured its output and printed it to you
  • 11. Let’s rock. • • • • • Monday, December 2, 13 docker  search  ubuntu docker  pull  ubuntu docker  run  ubuntu  echo  “hello  b-­‐datum” docker  run  ubuntu  apt-­‐get  install  -­‐y  memcached docker  run  -­‐t  -­‐i  ubuntu  /bin/bash
  • 12. Dockfile #  just  for  test FROM  ubuntu RUN  apt-­‐get  install  -­‐y  memcached MAINTAINER  Thiago  Rondon,  thiago@b-­‐datum.com ENTRYPOINT  [“memcached”] USER  daemon EXPOSE  11211 docker build -t mymemcached - < MyDockFile Monday, December 2, 13
  • 13. docker exposes git-like commands for comminting changes to running containers. Changes can be commited. possible by AUFS. Monday, December 2, 13
  • 14. Images • • • • • Monday, December 2, 13 docker  ps  -­‐l docker  commit  xxx  mystuff/memcached docker  inspect  mystuff/memcached docker  images docker  push  mystuff/memcached
  • 15. images & commits Monday, December 2, 13
  • 16. History • docker history • docker commit • docker images -viz | dot -Tpng -o docker.png • docker images -tree Monday, December 2, 13