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

Docker / Teil 1

Docker / Teil 1

Einführung in Docker. Erster Teil.

Bc302e4bfb9e897e01293bb1c54996aa?s=128

Christian Münch

November 11, 2020
Tweet

Transcript

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

    / muench.dev Christian Münch / @cmuench / muench.dev
  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
  3. Was ist ein Container? 3 3

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

    Christian Münch / @cmuench / muench.dev
  5. Virtuelle Maschine 5 5

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

    Münch / @cmuench / muench.dev
  7. Container sind abgeschottete Prozesse Linux Namespaces (Linux Kernel Feature) mount

    process network ipc (Interprocess Communication) cgroups (verstecken von Prozesssen) 7 7
  8. Was ist im Container? 8 8 Christian Münch / @cmuench

    / muench.dev Christian Münch / @cmuench / muench.dev
  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
  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
  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
  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
  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