Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.


Published on

Ignite talk about Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.

Published in: Technology
  • The ultimate acne system, Top ranked acne plan for download Unique clear skin strategies ◆◆◆
    Are you sure you want to  Yes  No
    Your message goes here
  • Just got my check for $500, Sometimes people don't believe me when I tell them about how much you can make taking paid surveys online... So I took a video of myself actually getting paid $500 for paid surveys to finally set the record straight. I'm not going to leave this video up for long, so check it out now before I take it down! ●●●
    Are you sure you want to  Yes  No
    Your message goes here
  • Have You Seen Mike Walden's new holistic acne System yet? It's called "Acne No More" I've read the whole thing (all 223 pages) and there's some great information in there about how to naturally and permanently eliminate your acne without drugs, creams or any kind of gimmicks. I highly recommend it - it's very honest and straightforward without all the hype and b.s. you see all over the net these days. Here's the website where you can get more information: Click Here ➤➤
    Are you sure you want to  Yes  No
    Your message goes here

  1. 1. Ladislav  Prskavec  @abtris  -­‐    DEVEL  9.11.2013 1
  2. 2. Docker  is  an  open-­‐source  project     to  easily  create  lightweight,  portable,  self-­‐sufficient  containers   from  any  applicaHon.   2
  3. 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. 4
  5. 5. BeNer  than  VMs ★ Size 5
  6. 6. BeNer  than  VMs ★ Size   ★ Performance 6
  7. 7. BeNer  than  VMs ★ Size   ★ Performance   ★ Portability 7
  8. 8. BeNer  than  VMs ★ Size   ★ Performance   ★ Portability   ★ Hardware-­‐centric 8
  9. 9. Escape  dependency  hell ★ Cross-­‐plaRorm  dependencies 9
  10. 10. Escape  dependency  hell ★ Cross-­‐plaRorm  dependencies   ★ ConflicHng  dependencies 10
  11. 11. Escape  dependency  hell ★ Cross-­‐plaRorm  dependencies   ★ ConflicHng  dependencies   ★ Custom  dependencies 11
  12. 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  |  tar  -­‐xzv   run  cd  helloflask-­‐master  &&  pip  install  -­‐r  requirements.txt 12
  13. 13. Under  the  hood ★ GO   ★ The  cgroup  and  namespacing  capabiliHes  of  the  Linux  kernel 13
  14. 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. 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. 16. Zero  downHme  deployment using  private  registry 16
  17. 17. App  running  in  prod  hNp://   ! vagrant@precise64:~$  docker  ps   ! CONTAINER  ID                IMAGE                                                                         ! b2332dffe               -­‐  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. 18. Push  to  producHon   • Tag  image  in  order  to  push  it
 >  docker  tag  praguejs   • Push  image  to  local  registry
 >  docker  push   • On  producHon  server,  pull  image
 >  docker  pull   • Start  new  container  
 >  docker  run  -­‐d  -­‐p  <image>   vagrant@precise64:~$  docker  ps   • Change  configuraHon  at  nginx/haproxy  and  restart   CONTAINER  ID                IMAGE                                                                         b2332dffe                 • See  changes  live d45222331                      1b4f43asds   18
  19. 19. 19
  20. 20. hNp:// 20