Pro Yearly is on sale from $80 to $50! »

Docker 1.12 containers, orchestration and beyond

Docker 1.12 containers, orchestration and beyond

My presentation on Docker 1.12 and the newly added orchestration features at Voxxed Days Belgrade: https://belgrade.voxxeddays.com/talk/500/

Ae7266b2a8b6a0fc8df19a3d732d6223?s=128

Antonis Kalipetis

September 28, 2016
Tweet

Transcript

  1. Docker 1.12 Orchestration, containers and beyond Antonis Kalipetis - @akalipetis

  2. 2 Antonis Kalipetis @akalipetis • Docker Captain and early user

    • Python lover and developer • Technology lead at SourceLair I love automating stuff and sharing knowledge around all things containers, DevOps and optimizing developer workflows.
  3. 3 Agenda • Docker: how everything started • Anatomy of

    the Docker Engine • The Docker ecosystem • [Legacy] Docker Swarm • SwarmKit and Docker Swarm Mode • Services • DAB Files • Demo time! Orchestration, containers and beyond
  4. Docker: how everything started Solomon Hykes at a PyCon sprint

    talk
  5. Anatomy of Docker The components that make up Docker today

  6. 6 Docker Engine Architecture

  7. 7 Docker Engine Deep diving into the components runc -

    low level plumbing dockerd - Docker Daemon docker - Docker Client
  8. The Docker ecosystem Not just a container runtime

  9. 9 Things built on top of and around Docker •

    Orchestrators • Kubernetes • Mesos • Nomad • Plugins • Volumes • Networking • Authorization and Authentication* • Cluster metrics and insights • cAdvisor • Prometheus
  10. 10 Docker Compose The need for managing multiple containers •

    Containers need special configuration, depending on the actual application • Containers need to connect with each other in a semantic way • Containers have dependencies
  11. [Legacy] Docker Swarm The first step towards orchestration

  12. None
  13. 13 Docker CLI Docker Hub Token service etcd consul zookeeper

    Machine discovery libkv
  14. 14 Container Networking Model (CNM) Goals: • Distributed application portability

    • Simple for users & flexible for operations • Built-in multi-host networking • Pluggable networking stack • Simple and application focussed APIs
  15. 15 Volumes plugins • Pluggable backends • Easy to install

    • Custom logic for different use cases
  16. Say hello to Docker native orchestration Welcome SwarmKit and Docker

    Swarm mode
  17. 17 Docker Swarm mode key concepts • Node • Services

    • Tasks • Load balancing built-in
  18. 18 Swarm mode enabled Docker Engine Docker Engine Load Balancing

    Certificate Authority Networking Service Discovery TLS Swarm Mode Manager Swarm Mode Worker Orchestration Components Volumes Plugins Distributed store Container Runtime
  19. 19 Docker Swarm mode cluster architecture Manager Manager Manager Worker

    Worker Worker Worker Worker Worker Worker Internal Distributed State Store
  20. 20 Docker Swarm mode services • Declarative definition • Replicas

    • Global vs replicated • Deploy / restart strategies • Health checks • Tasks • Created from services • Scheduled to nodes docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]
  21. 21 [Experimental] Docker Stacks and Distributed Application Bundles • Create

    from existing Docker Compose files • Verify image checksums • Perfect for production parity safety • Create bundle file • Deploy bundle file • Rolling updates of services docker deploy [OPTIONS] STACK Manage DAB files: https://github.com/mantika/whaleprint
  22. Demo time! https://github.com/akalipetis/swarm-demo

  23. THANK YOU Antonis Kalipetis @akalipetis