Docker and Containers overview - Docker Workshop

Download Docker and Containers overview - Docker Workshop

Post on 16-Apr-2017

1.417 views

Category:

Technology

0 download

Embed Size (px)

TRANSCRIPT

  • An Open Platform to Build, Ship, and Run Distributed Applications

  • whoami

    Jonas Rosland Developer Advocate

    EMC {code} emccode.github.io

    @jonasrosland jonas.rosland@emc.com

    mailto:jonas.rosland@emc.com

  • March 20, 2013: Docker Launches

    https://www.youtube.com/watch?v=wW9CAH9nSLs

  • 15 Months Later: An Incredible Platform and Ecosystem

    Official Repos & 14K+ Dockerized Apps

    Community 460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub

    Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners

    The Docker Platform

    Docker Engine Docker Hub

    Build, Ship, and Run

    Partners

    Content

    Users

  • 24 Months Later: An Incredible Platform and Ecosystem

    Official Repos & 14K+ Dockerized Apps

    Community 790+ Contributors 150+ Meetup Groups 100M+ Downloads 50K Projects on GitHub

    Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners

    The Docker Platform

    Docker Engine Docker Hub 75K Apps in the Hub Build, Ship, and Run

    Partners

    Content

    Users

  • We know were riding on your shoulders

    Thank You to the Giants

    Namespaces (IBM) Cgroups (Google) LXC tools The Linux Kernel Git SELinux (Red Hat) Solaris Zones BSD Jails +++

  • Thank You Users/Use Cases*

    *A small subset of the 100s who are using and/or writing about us Thanks to those above for talking about their experiences at DockerCon

  • Using Docker in our ECS appliances

    And of course

  • The Docker Ecosystem

  • Agenda

    Official Repos & 14K + Dockerized Apps

    Partners

    Content

    Users

    Community 460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub

    Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners

    The Docker Platform

    Docker Engine Docker Hub

    Build, Ship, and Run

  • ~2000 2014Long lived Development is iterative and constant

    Monolithic and built on a single stack Built from loosely coupled components

    Deployed to a single server Deployed to a multitude of servers

    Apps Have Fundamentally Changed

  • Static website

    Web frontend

    User DB

    Queue

    Analytics DB

    Background workersAPI endpoint

    nginx 1.5 + modsecurity + openssl + bootstrap 2

    postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK

    Ruby + Rails + sass + Unicorn

    Redis + redis-sentinel

    Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery +

    psycopg + postgresql-client

    Development VM

    QA Server

    Public Cloud

    Disaster Recovery

    Contributors LaptopProduction Servers

    Mul

    tiplic

    ity o

    f Sta

    cks

    Mul

    tiplic

    ity o

    f Har

    dwar

    e En

    viro

    nmen

    ts

    Production Cluster

    Customer Data Center

    Do services and apps

    interact appropriately?C

    an I migrate sm

    oothly and quickly?

    The Problem in 2014

  • Results in NxN compatibility nightmare

    Static website

    Web frontend

    Background workers

    User DB

    Analytics DB

    Queue

    Development VM QA Server

    Single Prod Server

    Onsite Cluster

    Public Cloud

    Contributors laptop

    Customer Servers

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

  • A useful analogy

  • Cargo Transport Pre-1960M

    ultip

    licity

    of

    Goo

    dsM

    ultip

    licity

    of

    met

    hods

    for

    tran

    spor

    ting/

    stor

    ing

    Do I w

    orry about how

    goods interact (e.g. coffee beans

    next to spices)

    Can I transport

    quickly and smoothly

    (e.g. from boat to

    train to truck)

  • Also an NxN Matrix

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

    ? ? ? ? ? ? ?

  • Solution: Intermodal Shipping ContainerM

    ultip

    licity

    of

    Goo

    dsD

    o I worry about how

    goods interact (e.g. coffee beans next to

    spices)

    Can I transport quickly

    and smoothly

    (e.g. from boat to train

    to truck)

    in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another

    A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.

  • This eliminated the NxN problem

  • The Right Approach to Containers Matters

    Separation of concerns Automation Efficiency Broad ecosystem

    Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg

    http://en.wikipedia.org/wiki/Lewis_Hinehttp://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpghttp://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg

  • Docker is a shipping container system for code

    Static website Web frontend User DB Queue Analytics DB

    Development VM

    QA server Public Cloud Contributors laptop

    Mul

    tiplic

    ity o

    f S

    tack

    s

    Production Cluster

    Customer Data Center

    Do services and apps interact

    appropriately?

    Can I m

    igrate sm

    oothly and quickly

    that can be manipulated using standard operations and run consistently on virtually any hardware platform

    An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container

  • or put more simply

    Static website Web frontend User DB Queue Analytics DB

    Development VM

    QA server Public Cloud Contributors laptop

    Mul

    tiplic

    ity o

    f S

    tack

    s

    Production Cluster

    Customer Data Center

    Do services and apps interact

    appropriately?

    Can I m

    igrate sm

    oothly and quickly

    Operator: Configure Once, Run Anything

    Developer: Build Once, Run Anywhere (Finally)

  • An Open Platform to Build, Ship, and Run Distributed Applications

  • Containers vs. VMs

  • Why are Docker containers lightweight?

  • What are the basics of the Docker system?

  • An Open Platform

    API

    Engine Hub

    open source software at the heart of the Docker platform

    cloud-based platform services for distributed applications

    API

  • An Open Platform

    Any App

    Any infrastructure Physical Virtual cloud

    + 75K apps + 50K projects

    API

    Engine Hub

    cloud-based platform services for distributed applications

    API

    open source software at the heart of the Docker platform

    http://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&docid=jFWoaTeXv3ut0M&tbnid=WfixqAwnGm__GM&ved=0CAgQjRw&url=http://www.juliandunn.net/2012/01/13/chef-devops-and-the-death-of-system-administration/&ei=NyOOU8PXGuausATlmIAI&psig=AFQjCNE55HYQiyB2C5bnsTfVsiY0vq7AqA&ust=1401910455520253http://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&docid=52ouTrxsABt0UM&tbnid=Qo1JhHjV78mdFM:&ved=0CAUQjRw&url=http://siliconangle.com/blog/2010/10/07/puppet-labs-appropriately-acquires-the-marionette-collective-growing-the-open-cloud/puppet-labs-logo/&ei=hSWOU8_sBtW_sQTwnoDIBQ&bvm=bv.68191837,d.b2k&psig=AFQjCNFfA0ar3rtJK6xi7dasdOzPQDg4pQ&ust=1401910972176812http://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&docid=52ouTrxsABt0UM&tbnid=Qo1JhHjV78mdFM:&ved=0CAUQjRw&url=http://siliconangle.com/blog/2010/10/07/puppet-labs-appropriately-acquires-the-marionette-collective-growing-the-open-cloud/puppet-labs-logo/&ei=hSWOU8_sBtW_sQTwnoDIBQ&bvm=bv.68191837,d.b2k&psig=AFQjCNFfA0ar3rtJK6xi7dasdOzPQDg4pQ&ust=1401910972176812http://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&docid=52ouTrxsABt0UM&tbnid=Qo1JhHjV78mdFM:&ved=0CAUQjRw&url=http://siliconangle.com/blog/2010/10/07/puppet-labs-appropriately-acquires-the-marionette-collective-growing-the-open-cloud/puppet-labs-logo/&ei=hSWOU8_sBtW_sQTwnoDIBQ&bvm=bv.68191837,d.b2k&psig=AFQjCNFfA0ar3rtJK6xi7dasdOzPQDg4pQ&ust=1401910972176812http://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&docid=52ouTrxsABt0UM&tbnid=Qo1JhHjV78mdFM:&ved=0CAUQjRw&url=http://siliconangle.com/blog/2010/10/07/puppet-labs-appropriately-acquires-the-marionette-collective-growing-the-open-cloud/puppet-labs-logo/&ei=hSWOU8_sBtW_sQTwnoDIBQ&bvm=bv.68191837,d.b2k&psig=AFQjCNFfA0ar3rtJK6xi7dasdOzPQDg4pQ&ust=1401910972176812http://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&docid=52ouTrxsABt0UM&tbnid=Qo1JhHjV78mdFM:&ved=0CAUQjRw&url=http://siliconangle.com/blog/2010/10/07/puppet-labs-appropriately-acquires-the-marionette-collective-growing-the-open-cloud/puppet-labs-logo/&ei=hSWOU8_sBtW_sQTwnoDIBQ&bvm=bv.68191837,d.b2k&psig=AFQjCNFfA0ar3r