SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Ladislav	
  Prskavec	
  @abtris	
  -­‐	
  	
  DEVEL	
  9.11.2013

1
Docker	
  is	
  an	
  open-­‐source	
  project	
  	
  
to	
  easily	
  create	
  lightweight,	
  portable,	
  self-­‐sufficient	
  containers	
  
from	
  any	
  applicaHon.	
  

2
The	
  same	
  container	
  that	
  a	
  developer	
  builds	
  and	
  tests	
  on	
  a	
  
laptop	
  can	
  run	
  at	
  scale,	
  in	
  producHon,	
  on	
  VMs,	
  bare	
  metal,	
  
OpenStack	
  clusters,	
  public	
  clouds	
  and	
  more.
3
4
BeNer	
  than	
  VMs
★ Size

5
BeNer	
  than	
  VMs
★ Size	
  
★ Performance

6
BeNer	
  than	
  VMs
★ Size	
  
★ Performance	
  
★ Portability

7
BeNer	
  than	
  VMs
★ Size	
  
★ Performance	
  
★ Portability	
  
★ Hardware-­‐centric

8
Escape	
  dependency	
  hell
★ Cross-­‐plaRorm	
  dependencies

9
Escape	
  dependency	
  hell
★ Cross-­‐plaRorm	
  dependencies	
  
★ ConflicHng	
  dependencies

10
Escape	
  dependency	
  hell
★ Cross-­‐plaRorm	
  dependencies	
  
★ ConflicHng	
  dependencies	
  
★ Custom	
  dependencies

11
Here's	
  a	
  typical	
  Docker	
  build	
  process	
  (Dockerfile)
from	
  ubuntu:12.10	
  
run	
  apt-­‐get	
  update	
  
run	
  DEBIAN_FRONTEND=noninteractive	
  apt-­‐get	
  install	
  -­‐q	
  -­‐y	
  python	
  
run	
  DEBIAN_FRONTEND=noninteractive	
  apt-­‐get	
  install	
  -­‐q	
  -­‐y	
  python-­‐pip	
  
run	
  pip	
  install	
  django	
  
run	
  DEBIAN_FRONTEND=noninteractive	
  apt-­‐get	
  install	
  -­‐q	
  -­‐y	
  curl	
  
run	
  curl	
  -­‐L	
  https://github.com/shykes/helloflask/master.tar.gz	
  |	
  tar	
  -­‐xzv	
  
run	
  cd	
  helloflask-­‐master	
  &&	
  pip	
  install	
  -­‐r	
  requirements.txt

12
Under	
  the	
  hood
★ GO	
  
★ The	
  cgroup	
  and	
  namespacing	
  capabiliHes	
  of	
  the	
  Linux	
  kernel

13
Under	
  the	
  hood
★ GO	
  
★ The	
  cgroup	
  and	
  namespacing	
  capabiliHes	
  of	
  the	
  Linux	
  kernel	
  
★ AUFS,	
  a	
  powerful	
  union	
  filesystem	
  with	
  copy-­‐on-­‐write	
  
capabiliHes

14
Under	
  the	
  hood
★ GO	
  
★ The	
  cgroup	
  and	
  namespacing	
  capabiliHes	
  of	
  the	
  Linux	
  kernel	
  
★ AUFS,	
  a	
  powerful	
  union	
  filesystem	
  with	
  copy-­‐on-­‐write	
  
capabiliHes	
  
★ lxc,	
  a	
  set	
  of	
  convenience	
  scripts	
  to	
  simplify	
  the	
  creaHon	
  of	
  
Linux	
  containers

15
Zero	
  downHme	
  deployment

using	
  private	
  registry
16
App	
  running	
  in	
  prod	
  hNp://praguejs.cz	
  
!
vagrant@precise64:~$	
  docker	
  ps	
  
!
CONTAINER	
  ID	
  	
  	
  	
  	
  	
  	
  	
  IMAGE	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
!
b2332dffe	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  registry.abtris.cz:5000/praguejs:latest	
  
-­‐	
  Build	
  local	
  
>	
  docker	
  build	
  -­‐t=praguejs	
  .	
  
-­‐	
  Test	
  local	
  
>	
  docker	
  run	
  -­‐p	
  49200:3333	
  praguejs	
  
hNp://localhost:49200	
  
-­‐	
  Change	
  some	
  files	
  
-­‐	
  Rebuild	
  &	
  test	
  
>	
  docker	
  build	
  -­‐t	
  praguejs	
  
>	
  docker	
  run	
  -­‐p	
  49200:3333	
  praguejs
17
Push	
  to	
  producHon	
  
•

Tag	
  image	
  in	
  order	
  to	
  push	
  it

>	
  docker	
  tag	
  praguejs	
  registry.abtris.cz:5000/praguejs	
  

•

Push	
  image	
  to	
  local	
  registry

>	
  docker	
  push	
  registry.abtris.cz:5000/praguejs	
  

•

On	
  producHon	
  server,	
  pull	
  image

>	
  docker	
  pull	
  registry.abtris.cz:5000/praguejs	
  

•

Start	
  new	
  container	
  

>	
  docker	
  run	
  -­‐d	
  -­‐p	
  127.0.0.1::3333	
  <image>	
  

vagrant@precise64:~$	
  docker	
  ps	
  
• Change	
  configuraHon	
  at	
  nginx/haproxy	
  and	
  restart	
  
CONTAINER	
  ID	
  	
  	
  	
  	
  	
  	
  	
  IMAGE	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
b2332dffe	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  registry.abtris.cz:5000/praguejs:latest	
  	
  
• See	
  changes	
  live
d45222331	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  1b4f43asds	
  
18
19
hNp://m.doporucim.cz/Docker
20

Más contenido relacionado

La actualidad más candente

From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...Docker, Inc.
 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPChris Tankersley
 
What’s new in Docker 1.13
What’s new in Docker 1.13What’s new in Docker 1.13
What’s new in Docker 1.13Will Kinard
 
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Ontico
 
Democratizing Development - Scott Gress
Democratizing Development - Scott GressDemocratizing Development - Scott Gress
Democratizing Development - Scott GressDocker, Inc.
 
Monitoring Containers at New Relic by Sean Kane
Monitoring Containers at New Relic by Sean Kane Monitoring Containers at New Relic by Sean Kane
Monitoring Containers at New Relic by Sean Kane Docker, Inc.
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Ruoshi Ling
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environmentSumedt Jitpukdebodin
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker, Inc.
 
runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...Docker, Inc.
 
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)Ruoshi Ling
 
Continuous Delivery With Selenium Grid And Docker
Continuous Delivery With Selenium Grid And DockerContinuous Delivery With Selenium Grid And Docker
Continuous Delivery With Selenium Grid And DockerBarbara Gonzalez
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGHDeploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGHErica Windisch
 
Docker Clustering - Batteries Included
Docker Clustering - Batteries IncludedDocker Clustering - Batteries Included
Docker Clustering - Batteries IncludedC4Media
 
From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017Chris Tankersley
 

La actualidad más candente (20)

CI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOWCI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOW
 
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
 
What’s new in Docker 1.13
What’s new in Docker 1.13What’s new in Docker 1.13
What’s new in Docker 1.13
 
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)
 
Docker compose
Docker composeDocker compose
Docker compose
 
Democratizing Development - Scott Gress
Democratizing Development - Scott GressDemocratizing Development - Scott Gress
Democratizing Development - Scott Gress
 
Monitoring Containers at New Relic by Sean Kane
Monitoring Containers at New Relic by Sean Kane Monitoring Containers at New Relic by Sean Kane
Monitoring Containers at New Relic by Sean Kane
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environment
 
Docker as development environment
Docker as development environmentDocker as development environment
Docker as development environment
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
 
runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...runC: The little engine that could (run Docker containers) by Docker Captain ...
runC: The little engine that could (run Docker containers) by Docker Captain ...
 
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
 
Exploring Docker Security
Exploring Docker SecurityExploring Docker Security
Exploring Docker Security
 
Continuous Delivery With Selenium Grid And Docker
Continuous Delivery With Selenium Grid And DockerContinuous Delivery With Selenium Grid And Docker
Continuous Delivery With Selenium Grid And Docker
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGHDeploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
 
Docker Clustering - Batteries Included
Docker Clustering - Batteries IncludedDocker Clustering - Batteries Included
Docker Clustering - Batteries Included
 
From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017
 

Destacado

The evolution of body image *
The evolution of body image *The evolution of body image *
The evolution of body image *as185067
 
How to prepare for class 12 board exams
How to prepare for class 12 board examsHow to prepare for class 12 board exams
How to prepare for class 12 board examsEdnexa
 
Leveraging social media for admins
Leveraging social media for adminsLeveraging social media for admins
Leveraging social media for adminsCrystal Coleman
 
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方柴田 篤志
 
A mulher tarcísio costa
A mulher tarcísio costaA mulher tarcísio costa
A mulher tarcísio costaLuzia Gabriele
 
Getting Started With INBOUND Marketing
Getting Started With INBOUND MarketingGetting Started With INBOUND Marketing
Getting Started With INBOUND MarketingDigital AdDoctor
 
Presentación Iriana Colina Seguridad industrial 2 semestre
Presentación Iriana Colina Seguridad industrial 2 semestrePresentación Iriana Colina Seguridad industrial 2 semestre
Presentación Iriana Colina Seguridad industrial 2 semestrealbanyta
 
Introducción a la computacón
Introducción a la computacónIntroducción a la computacón
Introducción a la computacónCabrera Miguel
 
áGuia azul gracilene pinto
áGuia azul gracilene pintoáGuia azul gracilene pinto
áGuia azul gracilene pintoLuzia Gabriele
 
Mapa conceptual 26 de julio milena villamizar power point
Mapa conceptual 26 de julio milena villamizar power pointMapa conceptual 26 de julio milena villamizar power point
Mapa conceptual 26 de julio milena villamizar power pointcelimer
 
Peter LaBrash resume
Peter LaBrash resumePeter LaBrash resume
Peter LaBrash resumePeter LaBrash
 
Digimon leonardo zec & ivan đopar 7.d
Digimon   leonardo zec & ivan đopar 7.dDigimon   leonardo zec & ivan đopar 7.d
Digimon leonardo zec & ivan đopar 7.dsilvijedevald
 
Artificial Intelligence 06.2 More on Causality Bayesian Networks
Artificial Intelligence 06.2 More on  Causality Bayesian NetworksArtificial Intelligence 06.2 More on  Causality Bayesian Networks
Artificial Intelligence 06.2 More on Causality Bayesian NetworksAndres Mendez-Vazquez
 
Dico du futur de l'amour
Dico du futur de l'amourDico du futur de l'amour
Dico du futur de l'amourLes Propulseurs
 

Destacado (17)

The evolution of body image *
The evolution of body image *The evolution of body image *
The evolution of body image *
 
How FreeeUp Works
How FreeeUp WorksHow FreeeUp Works
How FreeeUp Works
 
How to prepare for class 12 board exams
How to prepare for class 12 board examsHow to prepare for class 12 board exams
How to prepare for class 12 board exams
 
Leveraging social media for admins
Leveraging social media for adminsLeveraging social media for admins
Leveraging social media for admins
 
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方
 
A mulher tarcísio costa
A mulher tarcísio costaA mulher tarcísio costa
A mulher tarcísio costa
 
Getting Started With INBOUND Marketing
Getting Started With INBOUND MarketingGetting Started With INBOUND Marketing
Getting Started With INBOUND Marketing
 
Presentación Iriana Colina Seguridad industrial 2 semestre
Presentación Iriana Colina Seguridad industrial 2 semestrePresentación Iriana Colina Seguridad industrial 2 semestre
Presentación Iriana Colina Seguridad industrial 2 semestre
 
Introducción a la computacón
Introducción a la computacónIntroducción a la computacón
Introducción a la computacón
 
áGuia azul gracilene pinto
áGuia azul gracilene pintoáGuia azul gracilene pinto
áGuia azul gracilene pinto
 
Mapa conceptual 26 de julio milena villamizar power point
Mapa conceptual 26 de julio milena villamizar power pointMapa conceptual 26 de julio milena villamizar power point
Mapa conceptual 26 de julio milena villamizar power point
 
testimonial
testimonialtestimonial
testimonial
 
Evolucion De La Ead
Evolucion De La EadEvolucion De La Ead
Evolucion De La Ead
 
Peter LaBrash resume
Peter LaBrash resumePeter LaBrash resume
Peter LaBrash resume
 
Digimon leonardo zec & ivan đopar 7.d
Digimon   leonardo zec & ivan đopar 7.dDigimon   leonardo zec & ivan đopar 7.d
Digimon leonardo zec & ivan đopar 7.d
 
Artificial Intelligence 06.2 More on Causality Bayesian Networks
Artificial Intelligence 06.2 More on  Causality Bayesian NetworksArtificial Intelligence 06.2 More on  Causality Bayesian Networks
Artificial Intelligence 06.2 More on Causality Bayesian Networks
 
Dico du futur de l'amour
Dico du futur de l'amourDico du futur de l'amour
Dico du futur de l'amour
 

Similar a Docker.io

Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Ben Hall
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Ben Hall
 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak PeekDocker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peekmsyukor
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday developmentJustyna Ilczuk
 
Running .NET on Docker
Running .NET on DockerRunning .NET on Docker
Running .NET on DockerBen Hall
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班Philip Zheng
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班Paul Chao
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruDeploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruSwaminathan Vetri
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Developmentmsyukor
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Ben Hall
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudSamuel Chow
 
Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Adam Hodowany
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tipsSamuel Chow
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionBen Hall
 
Running the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerRunning the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerGuido Schmutz
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshopRuncy Oommen
 
Docker Up and Running Introduction
Docker Up and Running IntroductionDocker Up and Running Introduction
Docker Up and Running IntroductionMark Beacom
 

Similar a Docker.io (20)

Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak PeekDocker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peek
 
Docker Intro
Docker IntroDocker Intro
Docker Intro
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday development
 
Running .NET on Docker
Running .NET on DockerRunning .NET on Docker
Running .NET on Docker
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruDeploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google Cloud
 
Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Docking with Docker
Docking with DockerDocking with Docker
Docking with Docker
 
Running the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerRunning the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker Container
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
 
Docker Up and Running Introduction
Docker Up and Running IntroductionDocker Up and Running Introduction
Docker Up and Running Introduction
 

Más de Ladislav Prskavec

Modern Web Architecture<br>based on JS, API and Markup
Modern Web Architecture<br>based on JS, API and MarkupModern Web Architecture<br>based on JS, API and Markup
Modern Web Architecture<br>based on JS, API and MarkupLadislav Prskavec
 
Datascript: Serverless Architetecture
Datascript: Serverless ArchitetectureDatascript: Serverless Architetecture
Datascript: Serverless ArchitetectureLadislav Prskavec
 
PragueJS meetups 30th anniversary
PragueJS meetups 30th anniversaryPragueJS meetups 30th anniversary
PragueJS meetups 30th anniversaryLadislav Prskavec
 
How to easy deploy app into any cloud
How to easy deploy app into any cloudHow to easy deploy app into any cloud
How to easy deploy app into any cloudLadislav Prskavec
 
Docker - modern platform for developement and operations
Docker - modern platform for developement and operationsDocker - modern platform for developement and operations
Docker - modern platform for developement and operationsLadislav Prskavec
 
GDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWSGDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWSLadislav Prskavec
 
AWS Elastic Container Service
AWS Elastic Container ServiceAWS Elastic Container Service
AWS Elastic Container ServiceLadislav Prskavec
 
Comparison nodejs frameworks using Polls API
Comparison nodejs frameworks using Polls APIComparison nodejs frameworks using Polls API
Comparison nodejs frameworks using Polls APILadislav Prskavec
 
Docker včera, dnes a zítra
Docker včera, dnes a zítraDocker včera, dnes a zítra
Docker včera, dnes a zítraLadislav Prskavec
 
Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.Ladislav Prskavec
 

Más de Ladislav Prskavec (20)

SRE in Apiary
SRE in ApiarySRE in Apiary
SRE in Apiary
 
Modern Web Architecture<br>based on JS, API and Markup
Modern Web Architecture<br>based on JS, API and MarkupModern Web Architecture<br>based on JS, API and Markup
Modern Web Architecture<br>based on JS, API and Markup
 
How you can kill Wordpress!
How you can kill Wordpress!How you can kill Wordpress!
How you can kill Wordpress!
 
SRE in Startup
SRE in StartupSRE in Startup
SRE in Startup
 
CI and CD
CI and CDCI and CD
CI and CD
 
Datascript: Serverless Architetecture
Datascript: Serverless ArchitetectureDatascript: Serverless Architetecture
Datascript: Serverless Architetecture
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
CI and CD
CI and CDCI and CD
CI and CD
 
PragueJS meetups 30th anniversary
PragueJS meetups 30th anniversaryPragueJS meetups 30th anniversary
PragueJS meetups 30th anniversary
 
How to easy deploy app into any cloud
How to easy deploy app into any cloudHow to easy deploy app into any cloud
How to easy deploy app into any cloud
 
Docker - modern platform for developement and operations
Docker - modern platform for developement and operationsDocker - modern platform for developement and operations
Docker - modern platform for developement and operations
 
GDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWSGDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWS
 
AWS Elastic Container Service
AWS Elastic Container ServiceAWS Elastic Container Service
AWS Elastic Container Service
 
Comparison nodejs frameworks using Polls API
Comparison nodejs frameworks using Polls APIComparison nodejs frameworks using Polls API
Comparison nodejs frameworks using Polls API
 
Docker Elastic Beanstalk
Docker Elastic BeanstalkDocker Elastic Beanstalk
Docker Elastic Beanstalk
 
Docker včera, dnes a zítra
Docker včera, dnes a zítraDocker včera, dnes a zítra
Docker včera, dnes a zítra
 
Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.
 
Docker.io
Docker.ioDocker.io
Docker.io
 
AngularJS
AngularJSAngularJS
AngularJS
 
Firebase and AngularJS
Firebase and AngularJSFirebase and AngularJS
Firebase and AngularJS
 

Último

Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 

Último (20)

Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 

Docker.io

  • 1. Ladislav  Prskavec  @abtris  -­‐    DEVEL  9.11.2013 1
  • 2. Docker  is  an  open-­‐source  project     to  easily  create  lightweight,  portable,  self-­‐sufficient  containers   from  any  applicaHon.   2
  • 3. The  same  container  that  a  developer  builds  and  tests  on  a   laptop  can  run  at  scale,  in  producHon,  on  VMs,  bare  metal,   OpenStack  clusters,  public  clouds  and  more. 3
  • 4. 4
  • 6. BeNer  than  VMs ★ Size   ★ Performance 6
  • 7. BeNer  than  VMs ★ Size   ★ Performance   ★ Portability 7
  • 8. BeNer  than  VMs ★ Size   ★ Performance   ★ Portability   ★ Hardware-­‐centric 8
  • 9. Escape  dependency  hell ★ Cross-­‐plaRorm  dependencies 9
  • 10. Escape  dependency  hell ★ Cross-­‐plaRorm  dependencies   ★ ConflicHng  dependencies 10
  • 11. Escape  dependency  hell ★ Cross-­‐plaRorm  dependencies   ★ ConflicHng  dependencies   ★ Custom  dependencies 11
  • 12. Here's  a  typical  Docker  build  process  (Dockerfile) from  ubuntu:12.10   run  apt-­‐get  update   run  DEBIAN_FRONTEND=noninteractive  apt-­‐get  install  -­‐q  -­‐y  python   run  DEBIAN_FRONTEND=noninteractive  apt-­‐get  install  -­‐q  -­‐y  python-­‐pip   run  pip  install  django   run  DEBIAN_FRONTEND=noninteractive  apt-­‐get  install  -­‐q  -­‐y  curl   run  curl  -­‐L  https://github.com/shykes/helloflask/master.tar.gz  |  tar  -­‐xzv   run  cd  helloflask-­‐master  &&  pip  install  -­‐r  requirements.txt 12
  • 13. Under  the  hood ★ GO   ★ The  cgroup  and  namespacing  capabiliHes  of  the  Linux  kernel 13
  • 14. Under  the  hood ★ GO   ★ The  cgroup  and  namespacing  capabiliHes  of  the  Linux  kernel   ★ AUFS,  a  powerful  union  filesystem  with  copy-­‐on-­‐write   capabiliHes 14
  • 15. Under  the  hood ★ GO   ★ The  cgroup  and  namespacing  capabiliHes  of  the  Linux  kernel   ★ AUFS,  a  powerful  union  filesystem  with  copy-­‐on-­‐write   capabiliHes   ★ lxc,  a  set  of  convenience  scripts  to  simplify  the  creaHon  of   Linux  containers 15
  • 16. Zero  downHme  deployment using  private  registry 16
  • 17. App  running  in  prod  hNp://praguejs.cz   ! vagrant@precise64:~$  docker  ps   ! CONTAINER  ID                IMAGE                                                                         ! b2332dffe                      registry.abtris.cz:5000/praguejs:latest   -­‐  Build  local   >  docker  build  -­‐t=praguejs  .   -­‐  Test  local   >  docker  run  -­‐p  49200:3333  praguejs   hNp://localhost:49200   -­‐  Change  some  files   -­‐  Rebuild  &  test   >  docker  build  -­‐t  praguejs   >  docker  run  -­‐p  49200:3333  praguejs 17
  • 18. Push  to  producHon   • Tag  image  in  order  to  push  it
 >  docker  tag  praguejs  registry.abtris.cz:5000/praguejs   • Push  image  to  local  registry
 >  docker  push  registry.abtris.cz:5000/praguejs   • On  producHon  server,  pull  image
 >  docker  pull  registry.abtris.cz:5000/praguejs   • Start  new  container  
 >  docker  run  -­‐d  -­‐p  127.0.0.1::3333  <image>   vagrant@precise64:~$  docker  ps   • Change  configuraHon  at  nginx/haproxy  and  restart   CONTAINER  ID                IMAGE                                                                         b2332dffe                      registry.abtris.cz:5000/praguejs:latest     • See  changes  live d45222331                      1b4f43asds   18
  • 19. 19