Inhaltsverzeichnis

zurĂĽck

Docker – Grundlagen (Images, Container, Volumes, Networks, Compose)

Docker ist eine Container-Technologie, die Anwendungen leichtgewichtig, portabel und isoliert betreibt, ohne komplette virtuelle Maschinen zu benötigen.

Container teilen sich den Host-Kernel, benötigen aber keine eigenen Betriebssysteme → dadurch starten sie extrem schnell und verbrauchen wenig Ressourcen.


1. Warum Docker?

Docker löst typische IT-Probleme:

Mit Docker bekommst du:


2. Container vs virtuelle Maschinen

Container

Virtuelle Maschinen

Vergleich:


 Container:
 Host → Kernel → Container → App

 VM:
 Host → Hypervisor → volles OS → App



3. Docker-Image

Ein Image ist eine Vorlage, aus der Container gestartet werden.

Besteht aus Schichten (Layers):

Images sind:

Beispiele:


 nginx:latest
 mariadb:11
 ubuntu:22.04



4. Container

Ein Container ist eine laufende Instanz eines Images.

Merkmale:

Befehle:


 docker run
 docker ps
 docker stop
 docker logs



5. Volumes – Persistente Daten

Container-Daten sind flĂĽchtig.
FĂĽr dauerhafte Speicherung nutzt man Volumes.

Beispiele:

Volume-Typen:


 Container → /data ↔ /opt/stacks/app/data



6. Docker Networks

Container kommunizieren ĂĽber Netzwerke.

Arten:

bridge

Standard-Netzwerk, Container → Container.

host

Container nutzt Host-Netzwerk direkt.

macvlan

Container bekommt eigene MAC-Adresse im LAN.

overlay

FĂĽr Swarm/Kubernetes-Cluster.

Beispiel:


 docker network create mynet



7. Docker Compose

Docker Compose definiert komplette Anwendungen als YAML-Datei.

Einfaches Beispiel:


 version: "3" # kann weggelassen werden da veraltet

 services:
   web:
     image: nginx
     ports:
       - "80:80"
     volumes:
       - ./html:/usr/share/nginx/html


Vorteile:

Starten:


 docker compose up -d



8. Registries

Registries speichern Images.

Ă–ffentliche:

Private:


9. Sicherheit in Docker


10. Realwelt-Beispiele (praktisch & TG-tauglich)

Webserver + Datenbank


 web (nginx)
 db  (mariadb)


Mein Home-Lab

Unternehmensumgebung


11. Best Practices


Zusammenfassung