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

SEROM16: Container-Virtualisierung mit Docker

SEROM16: Container-Virtualisierung mit Docker

License: CC BY-SA

Slides of my talk at the SEROM conference [1] at November 4th, 2016 in Vechta.

Container-Virtualisierungstechnologien wie Docker oder rkt haben in den letzten Jahren rasant an Beliebtheit gewonnen. Dieser Vortrag erklärt die Unterschiede zwischen Containervirtualisierung und „klassischer“ Virtualisierung und betrachtet die Einsatzmöglichkeiten von Docker-Containern bei der Entwicklung und Betrieb von Applikationen.

[1] https://serom.de

Martin Helmich

November 04, 2016
Tweet

More Decks by Martin Helmich

Other Decks in Programming

Transcript

  1. CONTAINER-VIRTUALISIERUNG
    MIT DOCKER
    Martin Helmich, SEROM 2016
    [email protected]
    CC BY-SA
    https://www.flickr.com/photos/tristantaussac/15168366845

    View Slide

  2. Dieses Werk ist lizensiert unter einer Creative Commons
    (Namensnennung & Weitergabe unter gleichen Bedingungen) 4.0
    International Lizenz.
    http://creativecommons.org/licenses/by-sa/4.0/

    View Slide

  3. SOFTWARE &
    SYSTEMS
    ARCHITECT
    @
    http://stackoverflow.com/story/martinhelmich
    MARTIN
    HELMICH
    https://www.martin-helmich.de
    https://github.com/martin-helmich

    View Slide

  4. CC BY-SA, Thesupermat
    https://upload.wikimedia.org/wikipedia/commons/c/c0/F%C3%AAte_de_l%27Humanit%C3%A9_2012_-_009.jpg

    View Slide

  5. CONTAINERISIERUNG

    View Slide

  6. CONTAINERISIERUNG
    ?
    =
    VIRTUALISIERUNG

    View Slide

  7. CONTAINERISIERUNG
    =
    VIRTUALISIERUNG

    !

    View Slide

  8. Hardware
    Kernel
    Hypervisor
    Userspace-
    OS-Dienste
    VM VM VM
    „KLASSISCHE“
    VIRTUALISIERUNG
    Kernel
    Userspace-OS-Dienste
    Bibliotheken
    Appli-
    kation
    Appli-
    kation
    Appli-
    kation

    View Slide

  9. Hardware
    Kernel
    Hypervisor
    Userspace-
    OS-Dienste
    „KLASSISCHE“
    VIRTUALISIERUNG
    Hardware
    Kernel
    Container-
    Engine
    Userspace-
    OS-Dienste
    CONTAINER-
    VIRTUALISIERUNG

    View Slide

  10. User-NS
    LINUX-
    KERNEL-FEATURES

    View Slide

  11. User-NS
    LINUX-
    KERNEL-FEATURES
    CONTAINER

    View Slide

  12. User-NS
    LINUX-
    KERNEL-FEATURES
    CONTAINER
    LINUX CONTAINERS
    (LXC)

    View Slide

  13. DEMO
    TIME
    CC BY, Kenny Louie
    https://www.flickr.com/photos/kwl/4743024076

    View Slide

  14. CC BY, Angel Schatz
    https://www.flickr.com/photos/glamourschatz/6045962800
    CC BY, Rob Dammers
    https://www.flickr.com/photos/robdammers/12977360153
    Public Domain, Bernard Spragg
    https://www.flickr.com/photos/volvob12b/17122934879
    USE
    CASES

    View Slide

  15. USE
    CASES

    View Slide

  16. USE
    CASES
    DEV
    • Lokale Entwicklungs-
    umgebungen in Containern
    • Build-Umgebungen in
    Containern
    • Entwickler spezifiziert
    spätere Laufzeitumgebung

    View Slide

  17. USE
    CASES
    DEV OPS
    • Lokale Entwicklungs-
    umgebungen in Containern
    • Build-Umgebungen in
    Containern
    • Entwickler spezifiziert
    spätere Laufzeitumgebung
    • Container-Images als
    Deployment-Artefakt
    • Einfache Wartbarkeit durch
    „zustandslose“ Server
    • „Cloud“-Features
    (dazu später mehr)

    View Slide

  18. Public Domain, Bernard Spragg
    https://www.flickr.com/photos/volvob12b/13530947044

    View Slide

  19. QUELLTEXT
    mit DOCKERFILE
    VERSIONS-
    KONTROLL-
    SYSTEM
    git add .
    git commit
    git push
    CONTINUOUS
    INTEGRATION
    SERVER
    git clone
    CONTAINER-IMAGE
    als
    DEPLOYMENT-ARTEFAKT
    docker build \
    –t myapp:v1.2.3 .
    IMAGE
    REGISTRY
    docker push
    PRODUKTIV-
    BETRIEB
    INTEGRATIONS-
    TEST

    View Slide

  20. DOCKER
    at
    SCALE

    View Slide

  21. Hardware
    Betriebssystem
    Docker-Engine
    Docker-API
    1 Server
    (physisch oder virtualisiert)
    DOCKER at SCALE

    View Slide

  22. Hardware
    Betriebssystem
    Docker-Engine
    Docker-API
    1 Server
    (physisch oder virtualisiert)
    DOCKER at SCALE
    Hardware
    Betriebssystem
    Docker-Engine
    Hardware
    Betriebssystem
    Docker-Engine
    n Server
    (physisch oder virtualisiert)
    Docker-API Docker-API

    View Slide

  23. Hardware
    Betriebssystem
    Docker-Engine
    Docker-API
    1 Server
    (physisch oder virtualisiert)
    DOCKER at SCALE
    Orchestrierung
    Hardware
    Betriebssystem
    Docker-Engine
    Hardware
    Betriebssystem
    Docker-Engine
    n Server
    (physisch oder virtualisiert)
    Docker-API Docker-API

    View Slide

  24. Hardware
    Betriebssystem
    Docker-Engine
    Docker-API
    1 Server
    (physisch oder virtualisiert)
    DOCKER at SCALE
    Orchestrierung
    Hardware
    Betriebssystem
    Docker-Engine
    Hardware
    Betriebssystem
    Docker-Engine
    n Server
    (physisch oder virtualisiert)
    Docker-API Docker-API

    View Slide

  25. DOCKER
    SWARM
    RANCHER
    KUBERNETES
    DOCKER at SCALE
    Orchestrierung
    Hardware
    Betriebssystem
    Docker-Engine
    Hardware
    Betriebssystem
    Docker-Engine
    n Server
    (physisch oder virtualisiert)
    Docker-API Docker-API

    View Slide

  26. CC BY-SA, Wen-Chen Liu
    https://www.flickr.com/photos/liuwencheng/4884265235
    CC BY-SA, Sam Wise
    https://www.flickr.com/photos/samwise24/23256896475
    PETSvs.
    CATTLE

    View Slide

  27. CC BY, John Fielding
    https://www.flickr.com/photos/john_fielding/8658120615

    View Slide

  28. https://karriere.mittwald.de

    View Slide