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

Docker Introduction Tech Talk

Simon Kölsch
November 13, 2015

Docker Introduction Tech Talk

Docker Tech Talk for a customer

Simon Kölsch

November 13, 2015
Tweet

More Decks by Simon Kölsch

Other Decks in Technology

Transcript

  1. DevOps and Docker? > DevOps (some parts) > “Automate everything”

    > “Take responsibility” > Technical Problems > Complex services/apps and dependencies > Limited amount of hardware
  2. VM VM VM VM Virtualization Hardware Host OS/Kernel Virtual Hardware

    OS / Kernel App Hardware Host OS/Kernel Hypervisor VM App Mapped HV Hardware (OS / Kernel)
  3. Still… > Setting up whole virtual machines for applications is

    a lot of overhead > Applications have complex requirements, even with one technology stack > Running a distributed system locally can be an unpleasant experience
  4. Container > Docker is “Operating system-level virtualization” or a modern

    “chroot” ;-) Docker Linux Kernel Virtualization Features
 (cgroups, namespaces, etc.) libcontainer Container Container Container
  5. Docker Universe > Docker Engine > Docker Machine > Docker

    Compose > Docker Swarm > Docker Registry > Docker Hub
  6. Persistence > Data is not persisted by default > Container

    can define Volumes > Volumes can be mounted > Volumes can be shared > Volumes can have permissions
  7. Logging > Filesystem (Volume) > STDOUT > Logging Drivers >

    default: json-file > syslog, journald, gelf, fluentd, awslogs, …
  8. Networking > Containers are isolated via a bridge- interface >

    Configuration is done via docker > Host Stack can be used directly > Complex overlay networks are possible
  9. Creating Images FROM centos:centos6 RUN yum install -y epel-release RUN

    yum install -y nodejs npm COPY . /src RUN cd /src; npm install EXPOSE 8080 CMD ["node", "/src/index.js"] build/ :.. Dockerfile : src/
 :.. app $ docker build .
  10. Docker FS Layering FROM .. RUN .. RUN .. COPY

    .. RUN .. … 12ca0ae6c50d40589f280004 59015122974cd04812d5719 8e4ec5c3e63c9c50a1bdb0b9 62bd84c070ab552f1554acfc7 ae2007787fbfbffe206be67062
  11. so far… > Lightweight Containers > image creation via docker

    build > image distribution via registry > container creation via docker run > networking and logging configuration > manage persistence via volumes
  12. Best Practices > Use small images with few fs layers

    > Don’t mix applications inside containers > Configure your container > Use explicit versions and manage them > Maintain your ecosystem
  13. CoreOS Example Core OS Core OS Core OS Core OS

    Core OS Core OS Docker etcd fleet skydns Sidekicks
  14. Docker @ your Company > Adds great benefits but, …

    > simplifies stuff by adding complexity [!sic] > needs some security considerations > is actively developed > Does not immediately fix your project deadlines, replace your ops department or repair the coffee machine
  15. Alternatives / Outlook > App Container Spec > rkt >

    Open Container Initiative > ???
  16. Simon Kölsch | @simkoelsch [email protected] innoQ Deutschland GmbH Krischerstr. 100

    40789 Monheim am Rhein Germany Phone: +49 2173 3366-0 innoQ Schweiz GmbH Gewerbestr. 11 CH-6330 Cham Switzerland Phone: +41 41 743 0116 www.innoq.com Ohlauer Straße 43 10999 Berlin Germany Phone: +49 2173 3366-0 Robert-Bosch-Straße 7 64293 Darmstadt Germany Phone: +49 2173 3366-0 Radlkoferstraße 2 D-81373 München Germany Telefon +49 (0) 89 741185-270 Thank you! Questions? Comments?