it-themen:grundlagen:netzwerkdienste:docker
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-themen:grundlagen:netzwerkdienste:docker [04.12.2025 13:24] – angelegt lars | it-themen:grundlagen:netzwerkdienste:docker [04.12.2025 13:38] (aktuell) – [Zusammenfassung] lars | ||
|---|---|---|---|
| Zeile 14: | Zeile 14: | ||
| Docker löst typische IT-Probleme: | Docker löst typische IT-Probleme: | ||
| - | * „Läuft auf meinem Rechner, aber nicht bei dir“ | + | * „Läuft auf meinem Rechner, aber nicht bei dir“ |
| - | * unterschiedliche Abhängigkeiten / Bibliotheken | + | * unterschiedliche Abhängigkeiten / Bibliotheken |
| - | * komplizierte Installationen | + | * komplizierte Installationen |
| - | * Versionskonflikte | + | * Versionskonflikte |
| Mit Docker bekommst du: | Mit Docker bekommst du: | ||
| Zeile 25: | Zeile 25: | ||
| * **schnelle Deployments** | * **schnelle Deployments** | ||
| * **perfekt fĂĽr Microservices** | * **perfekt fĂĽr Microservices** | ||
| + | |||
| --- | --- | ||
| Zeile 41: | Zeile 42: | ||
| * größere Ressourcenlast | * größere Ressourcenlast | ||
| - | ASCII-Vergleich: | + | Vergleich: |
| < | < | ||
| - | Container: | ||
| - | Host → Kernel → Container → App | ||
| - | VM:Â | + | |
| - | Host → Hypervisor → volles OS → App | + | Host → Kernel → Container → App |
| + | Â | ||
| + | VM:Â | ||
| + | Host → Hypervisor → volles OS → App | ||
| + | Â | ||
| </ | </ | ||
| + | |||
| --- | --- | ||
| Zeile 71: | Zeile 76: | ||
| Beispiele: | Beispiele: | ||
| < | < | ||
| - | nginx: | + | Â |
| - | mariadb: | + | nginx: |
| - | ubuntu: | + | |
| + | | ||
| + | Â | ||
| </ | </ | ||
| + | |||
| --- | --- | ||
| Zeile 90: | Zeile 99: | ||
| Befehle: | Befehle: | ||
| < | < | ||
| - | docker run | + |  |
| - | docker ps | + | docker run |
| - | docker stop | + | |
| - | docker logs | + | |
| + | | ||
| + | Â | ||
| </ | </ | ||
| + | |||
| --- | --- | ||
| Zeile 104: | Zeile 117: | ||
| Beispiele: | Beispiele: | ||
| - | * Datenbanken | + | * Datenbanken |
| - | * Konfigurationen | + | * Konfigurationen |
| - | * Zertifikate | + | * Zertifikate |
| - | * Uploads (z. B. Nextcloud) | + | * Uploads (z. B. Nextcloud) |
| Volume-Typen: | Volume-Typen: | ||
| - | * named volumes („docker-volume“) | + | * named volumes („docker-volume“) |
| - | * bind mounts (z. B. / | + | * bind mounts (z. B. / |
| - | ASCII: | ||
| < | < | ||
| - | Container → /data ↔ / | + |  |
| + | Container → /data ↔ / | ||
| + | Â | ||
| </ | </ | ||
| + | |||
| --- | --- | ||
| Zeile 141: | Zeile 158: | ||
| Beispiel: | Beispiel: | ||
| < | < | ||
| - | docker network create mynet | + | Â |
| + | docker network create mynet | ||
| + | Â | ||
| </ | </ | ||
| + | |||
| --- | --- | ||
| Zeile 153: | Zeile 174: | ||
| <code yaml> | <code yaml> | ||
| - | version: " | ||
| - | services:Â | + | |
| - | web:Â | + | Â |
| - | image: nginx | + | services: |
| - | ports:Â | + | |
| - | - " | + | |
| - | volumes:Â | + | |
| - | - ./ | + | |
| + | | ||
| + | | ||
| + | Â | ||
| </ | </ | ||
| Zeile 171: | Zeile 195: | ||
| Starten: | Starten: | ||
| - | < | + | < |
| - | docker compose up -d | + | Â |
| + | | ||
| + | Â | ||
| </ | </ | ||
| + | |||
| --- | --- | ||
| Zeile 182: | Zeile 210: | ||
| Ă–ffentliche: | Ă–ffentliche: | ||
| - | * Docker Hub  | + | * Docker Hub |
| - | * GitHub Container Registry | + | * GitHub Container Registry |
| Private: | Private: | ||
| - | * Harbor | + | * Harbor |
| - | * GitLab Registry | + | * GitLab Registry |
| - | * selbst gehosteter Registry-Container | + | * selbst gehosteter Registry-Container |
| --- | --- | ||
| Zeile 194: | Zeile 223: | ||
| ====== 9. Sicherheit in Docker ====== | ====== 9. Sicherheit in Docker ====== | ||
| - | * Container nicht als root ausführen | + | * Container nicht als root ausführen |
| - | * eigene Netzwerke nutzen | + | * eigene Netzwerke nutzen |
| - | * Secrets sicher speichern (docker secrets) | + | * Secrets sicher speichern (docker secrets)Â |
| - | * nicht „latest“ verwenden | + | * nicht „latest“ verwenden |
| - | * Images regelmäßig aktualisieren | + | * Images regelmäßig aktualisieren |
| - | * wenig privilegierte Container starten (--cap-drop) | + | * wenig privilegierte Container starten (--cap-drop)Â |
| - | * Traefik/ | + | * Traefik/ |
| --- | --- | ||
| Zeile 209: | Zeile 239: | ||
| < | < | ||
| - | web (nginx)Â | + | Â |
| - | db (mariadb) | + | web (nginx)Â |
| + | | ||
| + | Â | ||
| </ | </ | ||
| - | ===== Dein Home-Lab ===== | + | ===== Mein Home-Lab =====Â |
| + | Â | ||
| + | * Traefik | ||
| + | * Portainer | ||
| + | * Vaultwarden | ||
| + | * Nextcloud | ||
| + | * Matrix | ||
| + | * Mailserver | ||
| + | * Monitoring (Grafana, Promtail, Loki)Â | ||
| + | * CrowdSec | ||
| - | * Traefik | ||
| - | * Portainer | ||
| - | * Vaultwarden | ||
| - | * Nextcloud | ||
| - | * Matrix | ||
| - | * Mailserver | ||
| - | * Monitoring (Grafana, Promtail, Loki) | ||
| - | * CrowdSec | ||
| - | * LDAP + Samba etc. | ||
| ===== Unternehmensumgebung ===== | ===== Unternehmensumgebung ===== | ||
| - | * Microservices | + | * Microservices |
| - | * Load Balancer | + | * Load Balancer |
| - | * CI/CD Pipelines | + | * CI/CD Pipelines |
| - | * API Gateways | + | * API Gateways |
| --- | --- | ||
| Zeile 236: | Zeile 270: | ||
| ====== 11. Best Practices ====== | ====== 11. Best Practices ====== | ||
| - | * eindeutige Verzeichnisstruktur (/ | + | * eindeutige Verzeichnisstruktur (/ |
| - | * alles in Docker Compose statt Einzellauf | + | * alles in Docker Compose statt Einzellauf |
| - | * Secrets in .env oder docker secrets | + | * Secrets in .env oder docker secrets |
| - | * Healthchecks nutzen | + | * Healthchecks nutzen |
| - | * Backups der Volumes nicht vergessen | + | * Backups der Volumes nicht vergessen |
| - | * Logs zentral erfassen (Loki, ELK) | + | * Logs zentral erfassen (Loki, ELK)Â |
| --- | --- | ||
| Zeile 247: | Zeile 282: | ||
| ====== Zusammenfassung ====== | ====== Zusammenfassung ====== | ||
| - | * Docker nutzt Container statt VMs  | + | * Docker nutzt Container statt VMs |
| - | * Images als Vorlage → Container als laufende Instanz | + | * Images als Vorlage → Container als laufende Instanz |
| - | * Volumes speichern Daten permanent | + | * Volumes speichern Daten permanent |
| - | * Docker Networks verbinden Container | + | * Docker Networks verbinden Container |
| - | * Compose verwaltet komplette Anwendungen | + | * Compose verwaltet komplette Anwendungen |
| - | * Container sind leicht, schnell und portabel | + | * Container sind leicht, schnell und portabel |
| - | * Sicherheit ist wichtig (root vermeiden, Updates) | + | * Sicherheit ist wichtig (root vermeiden, Updates)Â |
| - | * Container sind Standard in DevOps & modernen IT-Umgebungen | + | * Container sind Standard in DevOps & modernen IT-Umgebungen |
it-themen/grundlagen/netzwerkdienste/docker.1764851084.txt.gz · Zuletzt geändert: von lars