Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A really quick tour of Docker

A really quick tour of Docker

Slides from my talk on Docker at the Kickstart.mv Techtalk session 2

Jawish Hameed

May 28, 2014
Tweet

Other Decks in Technology

Transcript

  1. • Jaa / Jawish Hameed • Chief Software Architect, Semicolon

    • In love with all things science & technology • Blog: http://jawish.org/ • Github: http://github.com/jawish
  2. “A way to package, ship and run code” • Build

    once, run anywhere (almost) • Based on Linux containers • Open-sourced and maintained by dotCloud http://docker.io/
  3. DEVS: • Content agnostic • Hardware agnostic • Content isolation

    OPS: • Content agnostic • Hardware agnostic • Automation • High efficiency
  4. • Virtualization • Ships too much irrelevant stuff (OS, services

    etc) • Large file size • Whole OS-level virtualization not really necessary • Emulation => Overheads + Performance hit!! • Containers • Linux feature • Run a process sandboxed within a control group • Can run on top of a minimal host OS, dependencies and configs all inside each container, isolated
  5. • Own, isolated namespace and cgroups • Process PIDs, mounts,

    networking • Memory, cpu • Your code, your configs, your processes • Different file systems: Union, snapshot, copy-on-write
  6. Skipping this. Please refer to the Docker website for details.

    OS Support: • Linux => First class • Windows and OSX =>Via Virtual Box and custom image
  7. A Daemon: • Runs on host • Manages container processes

    • CLI connects to daemon • REST API to daemon Containers: • File System • Base Image + Your files • Process(es) • Port(s) • Volume mount(s)
  8. • Manual • Install, config, commit/export • Great for one-off

    builds • Automated • Scripted builds with “Dockerfile” • Repeatable, distributable
  9. • Registry Server • Centralized docker image storage and manager

    • Docker Index => Public Registry Server • Maintained by dotCloud • Lots of pre-configured, ready to run images for webservers, mail servers, web frameworks etc.
  10. • CoreOS • Dokku: Heroku-style dynamic deployment • Flynn: Set

    of components for solving ops • MaestroNG: Manage orchestrated deployment • Image processing • Easier SaaS / PaaS