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

Docker / Teil 1

Docker / Teil 1

Einführung in Docker. Erster Teil.

Christian Münch

November 11, 2020
Tweet

More Decks by Christian Münch

Other Decks in Technology

Transcript

  1. Docker / Teil 1
    1
    1
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  2. Was ist Docker?
    docker.com
    Docker is an open platform for developers and
    sysadmins to build, ship, and run distributed
    applications.
    2
    2
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  3. Was ist
    ein
    Container?
    3
    3

    View Slide

  4. Bare-Metal Server
    4
    4
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  5. Virtuelle Maschine
    5
    5

    View Slide

  6. Container
    6
    6
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  7. Container sind
    abgeschottete
    Prozesse
    Linux Namespaces (Linux Kernel Feature)
    mount
    process
    network
    ipc (Interprocess Communication)
    cgroups (verstecken von Prozesssen)
    7
    7

    View Slide

  8. Was ist im Container?
    8
    8
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  9. Docker
    Verbindet bestehende Technologien
    Ökosystem (Hub, Community)
    Diverse Tools (docker-compose, docker-
    machine, Swarm, Toolbox)
    Bereitstellung auf verschiedenen Host-
    Betriebssystemen (Windows, Mac, Linux)
    Format für Container Vorlagen (Images)
    9
    9
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  10. Docker Image
    Fertiges Abbild eines Containers
    Aufbau in Schichten (Image kann Basis-Image
    haben)
    Kann schnell aktualisiert und getauscht werden
    Build -> Ship -> Run
    10
    10
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  11. Beispiel NodeJS
    Anwendung
    const express = require('express')
    const app = express()
    app.get('/', (req, res) => res.send('Hallo Linux Stammtisch Worms!'))
    app.listen(3000, () => console.log('Server ready'))
    11
    11
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  12. FROM node:14
    WORKDIR /app
    COPY package*.json app.js ./
    RUN npm install
    EXPOSE 3000
    CMD ["node", "app.js"]
    12
    12
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide

  13. Resourcen
    Video von Chris Tamkersley
    https://youtu.be/EfpVgKtqZVw
    Node-Example: https://flaviocopes.com/docker-
    node-container-example/
    https://en.wikipedia.org/wiki/Linux_namespaces
    https://www.docker.com
    https://training.play-with-docker.com/
    https://labs.play-with-docker.com/
    13
    13
    Christian Münch / @cmuench / muench.dev
    Christian Münch / @cmuench / muench.dev

    View Slide