introduc)on*to*docker* · whatis*docker?* • quote*from*docker.io: *...

24
Introduc)on to Docker Pini Reznik www.uglyduckling.nl

Upload: others

Post on 23-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Introduc)on  to  Docker  

Pini  Reznik  www.uglyduckling.nl  

Page 2: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Evolu)on  of  IT  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 3: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Challenge  of  Mul)ple  Environments  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 4: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Cargo  Analogy  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 5: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Cargo  Delivery  Pipeline  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 6: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Shipping  Goods    

Page 7: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Shipping  with  Containers  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 8: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Scalability  with  Containers  

Page 9: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

SoGware  Delivery  Pipeline  

Page 10: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Common  Challenges  in  the  Pipeline  

Development    Environment    

Setup  

Test    

Clean  Environments  

Acceptance    

Similarity  to  Produc)on    

Produc)on    

Deployments  and  Roll-­‐back/forwards  

Page 11: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

SoGware  in  Containers  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 12: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

What  is  Docker?  

•  Quote  from  docker.io:    “Docker  is  an  open-­‐source  project  to  easily  create  lightweight,  portable,  self-­‐sufficient  containers  from  any  applica<on.  The  same  container  that  a  developer  builds  and  tests  on  a  laptop  can  run  at  scale,  in  produc<on,  on  VMs,  bare  metal,  OpenStack  clusters,  public  clouds  and  more.”    

Page 13: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Docker  Func)ons  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 14: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Delivery  Pipeline  with  Containers  

Page 15: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Docker  and  VMs  

Image  courtesy  of  Docker  Inc./  docker.io  

Page 16: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

OS  Level  Virtualiza)on  

ZONES  JAILS  

Workload    Par))ons  

Page 17: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Docker  and  Puppet/Chef/Ansible  

Image  courtesy  of  Puppet  Labs  puppetlabs.com  

Page 18: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Communica)on  -­‐  Serf  

Image  courtesy  of  CoreOS  coreos.com  

Page 19: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Infrastructure  -­‐  CoreOS  

Image  courtesy  of  CoreOS  coreos.com  

Page 20: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

Microservices  

Image  courtesy  of  mar)nfowler.com  

Page 21: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

An)tude  

www.an)tude.io  

Page 22: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

       

SoGware  Configura)on  Management    Done  Right.  

 Everything  (almost)  we  need  to  build  our    

SoGware  is  now  finally  in  the  Version  Control  

Page 23: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from

   

Page 24: Introduc)on*to*Docker* · Whatis*Docker?* • Quote*from*docker.io: * “Docker(is(an(open.source(projectto(easily(create(lightweight,(portable,(self.sufficientcontainers(from