docker — 135 Artikel

Docker-Netzwerk debuggen mit temporären Hilfs-Containern

Docker-Netzwerk debuggen mit temporären Hilfs-Containern Ein temporärer Debug-Container im selben Netzwerk ist die schnellste Methode um Netzwerkprobleme zwischen Containern zu diagnostizieren. Das Prinzip Statt Tools in den Ziel-Container zu installieren oder die Anwendung zu verändern, startet man…

Docker Swarm vs Kubernetes - wann was die richtige Wahl ist

Docker Swarm vs Kubernetes - wann was die richtige Wahl ist Swarm oder Kubernetes — beide orchestrieren Container, aber für unterschiedliche Szenarien. Docker Swarm Swarm ist direkt in Docker eingebaut. Wer Docker kennt, kennt 80 % von Swarm. Stärken: Kein Extra-Tool, kein extra Lernaufwand Gleiche …

Netzwerkisolation zwischen Compose-Stacks durchsetzen

Netzwerkisolation zwischen Compose-Stacks durchsetzen Verschiedene Compose-Stacks auf demselben Host können sich standardmäßig gegenseitig erreichen — das ist oft unerwünscht. Das Problem: Default-Isolation existiert nicht Compose erstellt pro Stack ein eigenes Netzwerk (). Auf den ersten Blick sieh…

Container-Shell ohne Bash betreten - Debugging in minimalen Images

Container-Shell ohne Bash betreten - Debugging in minimalen Images Minimale Images haben keine Bash, Distroless-Images haben gar keine Shell — hier sind die Techniken um trotzdem in einen Container zu kommen. Alpine: sh statt bash Alpine-basierte Images (die Mehrheit der Docker Hub Images) haben kei…

Caddy als Reverse Proxy für Docker - einfacher als Nginx

Caddy als Reverse Proxy für Docker - einfacher als Nginx Caddy besorgt automatisch TLS-Zertifikate von Let's Encrypt und hat eine deutlich einfachere Konfigurationssyntax als Nginx. Warum Caddy? Automatisches HTTPS: Let's Encrypt-Zertifikate werden automatisch angefordert und erneuert Einfache Synta…

Von docker-compose auf Compose v2 migrieren - was sich geändert hat

Von docker-compose auf Compose v2 migrieren - was sich geändert hat (v1) wurde im Januar 2024 offiziell eingestellt — Zeit für die Migration auf (v2). Was ist der Unterschied? docker-compose v1: Standalone Python-Binary, separat installiert, veraltet seit 2021, Support-Ende Januar 2024. docker compo…

Docker ohne Internetzugang betreiben - Air-Gap-Setups

Docker ohne Internetzugang betreiben - Air-Gap-Setups Wenn der Produktionsserver kein Internet hat, müssen Images vor dem Deployment vorbereitet und transferiert werden. Das grundlegende Problem Docker pulled Images standardmäßig von Docker Hub oder einer anderen Registry. Ohne Internet schlägt jede…

Datenbank-Backups aus Docker-Containern automatisieren

Datenbank-Backups aus Docker-Containern automatisieren Datenbank-Dumps aus laufenden Containern zu erstellen ist einfach — die Herausforderung ist, es zuverlässig zu automatisieren und die Backups sicher aufzubewahren. Manueller Dump PostgreSQL MySQL / MariaDB Automatisierung via Cron auf dem Host D…

Docker-Logs zentralisieren mit dem Loki-Log-Driver

Docker-Logs zentralisieren mit dem Loki-Log-Driver Der Loki Log Driver sendet Container-Logs direkt vom Docker-Daemon an Loki — ohne Promtail als Zwischenschicht. Zwei Wege zu Loki Der vorherige Artikel zeigt den Promtail-Ansatz: Promtail liest Docker-Logdateien vom Host. Der Loki-Log-Driver geht ei…

dockurr-windows - Windows 10 und 11 im Docker-Container ausführen

dockurr-windows - Windows 10 und 11 im Docker-Container ausführen dockurr/windows ermöglicht es, Windows 10, 11 oder Server-Editionen als vollwertige virtuelle Maschine innerhalb eines Docker-Containers zu betreiben. Was ist dockurr/windows? Das Image von dockurr nutzt KVM-Virtualisierung innerhalb …

Docker Context - mehrere Docker-Hosts über die CLI verwalten

Docker Context - mehrere Docker-Hosts über die CLI verwalten Docker Context ist ein eingebautes Feature, das mehrere Docker-Hosts über die gewohnte CLI erreichbar macht — ohne SSH-Aliasse, ohne extra Tools. Wie Docker Context funktioniert Jeder Context speichert eine Verbindungskonfiguration: welche…

AppArmor und seccomp in Docker - Systemaufrufe einschränken

AppArmor und seccomp in Docker - Systemaufrufe einschränken Docker-Container teilen den Host-Kernel – wer den Angriffsfläche minimieren will, schränkt Systemaufrufe und Dateizugriffe mit seccomp und AppArmor ein. Was sind seccomp und AppArmor? seccomp (Secure Computing Mode): Filtert Systemaufrufe (…

Malus - satirisches Open-Source-Projekt im Container

Malus - satirisches Open-Source-Projekt im Container Malus ist ein satirisches Open-Source-Projekt, das die Absurdität moderner Software-Stacks humorvoll auf die Schippe nimmt und sich dennoch problemlos als Docker-Container betreiben lässt. Was ist Malus? Nicht jedes Selbst-Hosting-Projekt muss ern…

Mehrere Docker-Hosts mit einem Stack verwalten

Mehrere Docker-Hosts mit einem Stack verwalten Ab zwei Docker-Servern stellt sich die Frage: Wie managed man mehrere Hosts effizient, ohne sich jedes Mal per SSH einzuloggen? Option 1: Docker Context — der einfachste Weg Docker Context erlaubt es, mit einem einzigen CLI zwischen mehreren Docker-Host…

Datenbank-Container updaten ohne Datenverlust

Datenbank-Container updaten ohne Datenverlust Datenbank-Images zu updaten ist riskanter als App-Container – falsche Reihenfolge oder übersprungene Major-Versionen können Daten korrumpieren. Grundregel: Immer zuerst sichern Bevor irgendwas an einem Datenbank-Container geändert wird: Das Backup muss e…

Arcane - Docker-Management-UI für Compose-Stacks

Arcane - Docker-Management-UI für Compose-Stacks Arcane ist ein leichtgewichtiges Web-Interface zur Verwaltung von Docker-Compose-Stacks mit Echtzeit-Logs und Container-Kontrolle. Was ist Arcane? Arcane richtet sich an Homelab-Betreiber, die ihre Docker-Compose-Stacks über eine grafische Oberfläche …

Datenbank-Container im Produktivbetrieb - was man wissen muss

Datenbank-Container im Produktivbetrieb - was man wissen muss Datenbanken in Docker zu betreiben ist absolut möglich — aber nur, wenn man ein paar wichtige Punkte beachtet. Das wichtigste zuerst: Persistenz Ohne Volume verliert ein Datenbankcontainer bei jedem Neustart alle Daten. Benannte Volumes s…

Alte Images und Container automatisch bereinigen

Alte Images und Container automatisch bereinigen Docker häuft still Gigabytes an unbenutzten Images, gestoppten Containern und verwaisten Volumes an – ohne automatische Bereinigung ist eine volle Disk nur eine Frage der Zeit. Das Problem Bei jedem werden neue Images gezogen. Die alten Images bleiben…

Cron-Jobs mit Ofelia - der saubere Weg für Container-Scheduler

Cron-Jobs mit Ofelia - der saubere Weg für Container-Scheduler Ofelia ist ein Job-Scheduler speziell für Docker — er führt Befehle in anderen Containern aus und protokolliert die Ergebnisse sauber. Warum nicht einfach Cron? Cron im Container zu betreiben bedeutet: ein Prozess-Manager im Container, L…

Daten nie im Container-Layer speichern - warum und wie

Daten nie im Container-Layer speichern - warum und wie Wer Daten im Container-Layer statt in Volumes speichert, verliert sie beim nächsten – ein Fehler der besonders bei Datenbanken schmerzt. Was der Container-Layer ist Jeder Container besteht aus Read-Only-Image-Layern plus einem beschreibbaren Con…

Pinned Versions vs latest - wie man den richtigen Mittelweg findet

Pinned Versions vs latest - wie man den richtigen Mittelweg findet ist unvorhersehbar, zu stark gepinnte Versionen verpassen Sicherheitsupdates – der richtige Mittelweg ist eine Frage der Strategie. Das Problem mit latest zeigt auf den neuesten Build zum Zeitpunkt des Pulls. Ein nächste Woche kann e…

Gluetun WebUI - grafische Oberfläche zur Gluetun-Verwaltung

Gluetun WebUI - grafische Oberfläche zur Gluetun-Verwaltung Die Gluetun WebUI ergänzt den Gluetun VPN-Container um eine browserbasierte Oberfläche, über die Verbindungsstatus, Serverauswahl und Kill-Switch-Zustand überwacht werden können. Was ist die Gluetun WebUI? Gluetun selbst bringt eine eingeba…

Daten zwischen Containern teilen - Volumes und Netzwerk richtig einsetzen

Daten zwischen Containern teilen - Volumes und Netzwerk richtig einsetzen Zwei Container müssen manchmal dieselben Daten nutzen – der richtige Ansatz hängt davon ab ob es um Dateien oder um Live-Kommunikation geht. Zwei Arten des Teilens Volumes – für Dateien, die von mehreren Containern gelesen ode…

Docker-Logs zentralisieren - Loki und Promtail mit Docker

Docker-Logs zentralisieren - Loki und Promtail mit Docker Logs sind nach Container-Neustarts weg, über viele Container verteilt und schwer durchsuchbar — Grafana Loki löst all das. Das Problem Standardmäßig schreibt Docker Logs als JSON-Dateien auf den Host. zeigt sie Container-für-Container. Wer üb…

LoggiFly - Log-Aggregation und -Visualisierung im Container

LoggiFly - Log-Aggregation und -Visualisierung im Container LoggiFly ist ein leichtgewichtiger Log-Kollektor für Docker-Umgebungen, der Container-Logs sammelt, filtert und per Benachrichtigung weiterleitet. Was ist LoggiFly? LoggiFly überwacht Docker-Container-Logs in Echtzeit und ermöglicht das Wei…

Docker selbst aktualisieren - ohne laufende Container zu verlieren

Docker selbst aktualisieren - ohne laufende Container zu verlieren Den Docker-Daemon zu aktualisieren klingt riskanter als es ist – mit der richtigen Vorbereitung überleben alle Container den Update-Vorgang. Container überleben den Daemon-Neustart Standardmäßig werden Container gestoppt wenn der Dae…

Docker-Images aktuell halten - manuell, Watchtower und Renovate

Docker-Images aktuell halten - manuell, Watchtower und Renovate Veraltete Images bedeuten ungepatchte Sicherheitslücken – aber blinde automatische Updates können Produktivsysteme brechen. Hier sind die drei Ansätze und wann man welchen wählt. Ansatz 1: Manuell (kontrolliert, für Produktion) Der einf…

Boxarr - Docker-Container strukturiert organisieren

Boxarr - Docker-Container strukturiert organisieren Boxarr ist ein leichtgewichtiges Dashboard zur visuellen Organisation und Übersicht laufender Docker-Container im Homelab. Was ist Boxarr? Wer viele Docker-Container auf einem oder mehreren Hosts betreibt, verliert schnell den Überblick. Boxarr sch…

Docker Swarm - wann es gegenüber Compose Sinn macht

Docker Swarm - wann es gegenüber Compose Sinn macht Docker Compose und Docker Swarm nutzen dasselbe YAML-Format — aber Swarm bringt Multi-Host-Clustering und echte Hochverfügbarkeit. Der Unterschied auf einen Blick Compose: Ein Host, ein Daemon, ideal für Entwicklung und einfache Produktionssetups. …

Coolify - selbstgehostetes Heroku für eigene Server

Coolify - selbstgehostetes Heroku für eigene Server Coolify ist eine Open-Source-Plattform, die das Deployment von Apps, Datenbanken und Diensten auf eigenen Servern so einfach macht wie bei Heroku oder Render. Was ist Coolify? Coolify abstrahiert die Komplexität von Docker, Reverse Proxies und SSL-…

GPU Hot - GPU-Temperatur und -Auslastung im Container überwachen

GPU Hot - GPU-Temperatur und -Auslastung im Container überwachen GPU Hot ist ein schlankes Monitoring-Tool, das GPU-Temperatur, Auslastung, VRAM-Verbrauch und Taktfrequenz als Web-Dashboard bereitstellt — nützlich für alle, die GPU-Workloads wie KI-Inferenz oder Transkodierung im Homelab betreiben. …

Die Erstkonfiguration des Docker-Daemons - daemon.json erklärt

Die Erstkonfiguration des Docker-Daemons - daemon.json erklärt Die ist die zentrale Konfigurationsdatei für Docker – wer sie kennt, hat volle Kontrolle über das Verhalten des Daemons. Grundstruktur Die Datei muss valides JSON sein. Syntaxfehler verhindern den Start des Daemons. Datenpfad ändern Stan…

Eigene Docker-Registry betreiben - Images intern hosten

Eigene Docker-Registry betreiben - Images intern hosten Mit dem offiziellen -Image lässt sich in wenigen Minuten eine private Docker-Registry betreiben — ohne Docker Hub, ohne externe Abhängigkeiten. Warum eine eigene Registry? Datenschutz: Proprietary Images verlassen das eigene Netzwerk nicht Gesc…

Databasement - Datenbankzugriff per Web-Oberfläche vereinfachen

Databasement - Datenbankzugriff per Web-Oberfläche vereinfachen Databasement ist eine selbst gehostete Web-Oberfläche für den Zugriff auf verschiedene Datenbanktypen — ohne lokale Client-Installation und mit rollenbasierter Zugriffskontrolle. Was ist Databasement? Tools wie phpMyAdmin sind auf MySQL…

Lazytainer - Docker-Container automatisch pausieren

Lazytainer Pausiert Docker-Container automatisch, wenn kein Netzwerkverkehr mehr ankommt – und startet sie bei Bedarf wieder. Was ist Lazytainer? Lazytainer ist ein leichtgewichtiger Proxy-Container, der andere Container überwacht und bei Inaktivität in den Schlafmodus versetzt. Sobald neue Verbindu…

Docker auf dem Raspberry Pi - ARM-Images und was es zu beachten gibt

Docker auf dem Raspberry Pi - ARM-Images und was es zu beachten gibt Der Raspberry Pi ist eine beliebte Plattform für Heimserver und Self-Hosting – Docker läuft darauf gut, wenn man ein paar Besonderheiten kennt. ARM-Architektur verstehen Der Raspberry Pi nutzt ARM-Prozessoren: RPi 2/3 – ARMv7 (32-b…

Capacitarr - Speicherkapazität für Sonarr und Radarr planen

Capacitarr - Speicherkapazität für Sonarr und Radarr planen Capacitarr analysiert die Medienbibliothek von Sonarr und Radarr und hilft dabei, den zukünftigen Speicherbedarf abzuschätzen und Engpässe rechtzeitig zu erkennen. Was ist Capacitarr? Wer eine große Mediensammlung betreibt, kennt das Proble…

Cron-Jobs in Docker - der richtige Ansatz

Cron-Jobs in Docker - der richtige Ansatz Wiederkehrende Aufgaben in Docker-Umgebungen lösen viele falsch – ein Cron-Daemon im App-Container ist fast immer die schlechteste Wahl. Anti-Pattern: Cron im App-Container Ein Container soll einen Prozess ausführen. Zwei Prozesse (App + crond) in einem Cont…

Dock-Deploy - Anwendungen per Web-Oberfläche deployen

Dock-Deploy - Anwendungen per Web-Oberfläche deployen Dock-Deploy ist ein leichtgewichtiges Web-Dashboard, das das Starten, Stoppen und Aktualisieren von Docker-Compose-Stacks über eine grafische Oberfläche ermöglicht. Was ist Dock-Deploy? Dock-Deploy richtet sich an Homelab-Betreiber und kleine Tea…

Zeitreihen-Stack aufsetzen - InfluxDB und Grafana mit Docker

Zeitreihen-Stack aufsetzen - InfluxDB und Grafana mit Docker InfluxDB als Zeitreihendatenbank, Grafana für Dashboards — in wenigen Minuten steht ein vollständiges Monitoring-System. Was wir bauen InfluxDB 2: Speichert Metriken als Zeitreihen Grafana: Visualisiert die Daten in Dashboards Telegraf: Sa…

Container Census - laufende Docker-Container inventarisieren

Container Census - laufende Docker-Container inventarisieren Container Census erstellt automatisch ein aktuelles Inventar aller laufenden Docker-Container auf einem oder mehreren Hosts. Was ist Container Census? Container Census liest die Docker-API aus und erstellt eine strukturierte Übersicht alle…

Docker Desktop vs Docker Engine - was man wirklich braucht

Docker Desktop vs Docker Engine - was man wirklich braucht Docker Desktop und Docker Engine sind zwei sehr unterschiedliche Produkte – die richtige Wahl hängt vom Betriebssystem und Anwendungsfall ab. Docker Engine Docker Engine ist der eigentliche Docker-Daemon – plus CLI. Er läuft nativ auf Linux,…

Docker in Docker - wann DinD wirklich nötig ist

Docker in Docker - wann DinD wirklich nötig ist CI/CD-Pipelines müssen oft Images bauen — dafür gibt es zwei Ansätze, die sich grundlegend unterscheiden. Die zwei Ansätze 1. Docker in Docker (DinD) Ein Container läuft mit einem eigenen Docker-Daemon im Inneren. Das -Image macht genau das. Problem: g…

Dockpeek - Docker-Logs und Stats im Browser inspizieren

Dockpeek - Docker-Logs und Stats im Browser inspizieren Dockpeek ist ein leichtgewichtiges Web-Interface zum Echtzeit-Anzeigen von Docker-Container-Logs und Ressourcenstatistiken direkt im Browser. Was ist Dockpeek? Dockpeek gibt Entwicklern und Homelab-Betreibern eine schnelle, browserbasierte Sich…

Rootless Docker einrichten - Container ohne Root-Rechte betreiben

Rootless Docker einrichten - Container ohne Root-Rechte betreiben Rootless Docker lässt den Daemon als normaler Benutzer laufen – ein Container-Escape führt so maximal zu einem kompromittierten Benutzeraccount, nicht zum Root-Zugriff. Was Rootless Docker bedeutet Im normalen Betrieb läuft als root u…

Volumes werden nicht gemountet - häufige Konfigurationsfehler in Compose

Volumes werden nicht gemountet - häufige Konfigurationsfehler in Compose Volume-Probleme in Compose sind tricky, weil kein Fehler geworfen wird – stattdessen entsteht still ein falsches Volume oder ein leerer Mount. Fehler 1: Fehlender Top-Level-volumes-Block Das ist der häufigste Fehler. Ein named …

GPU-Zugriff in Docker-Containern - NVIDIA und Intel einrichten

GPU-Zugriff in Docker-Containern - NVIDIA und Intel einrichten GPU-Zugriff in Docker ermöglicht KI-Inferenz, Video-Transcodierung und Grafikverarbeitung direkt im Container – ohne die GPU manuell zu verwalten. NVIDIA GPUs Voraussetzungen 1. NVIDIA-Treiber auf dem Host installiert ( muss funktioniere…

Log-Rotation für Docker - Festplattenfüller vermeiden

Log-Rotation für Docker - Festplattenfüller vermeiden Der Standard-Log-Treiber von Docker schreibt Logs unbegrenzt auf die Disk – ohne Konfiguration sind volle Festplatten nur eine Frage der Zeit. Das Problem Docker speichert Container-Logs standardmäßig als JSON unter: Ohne Rotation wächst diese Da…

DNS-Auflösung schlägt im Container fehl - Ursachen und Fixes

DNS-Auflösung schlägt im Container fehl - Ursachen und Fixes im Container — das ist ein DNS-Problem, und es hat mehrere mögliche Ursachen. Diagnose resolv.conf im Container prüfen Docker schreibt beim Container-Start eine . Standardmäßig erbt der Container die DNS-Einstellungen des Hosts — wenn der …

Zeitzone im Container richtig setzen - TZ-Variable und Zoneinfo

Zeitzone im Container richtig setzen - TZ-Variable und Zoneinfo Docker-Container laufen standardmäßig in UTC – wer Logs, Cron-Jobs oder Timestamps in Lokalzeit braucht, muss die Zeitzone explizit setzen. Methode 1: TZ-Umgebungsvariable Die einfachste Methode – funktioniert in den meisten modernen Im…

Docker Doom - den Shooter-Klassiker im Container starten

Docker Doom Doom läuft in einem Docker-Container — weil es geht, und weil es immer irgendwo Doom geben muss. Was ist Docker Doom? Docker Doom ist ein Demo- und Meme-Projekt, das den klassischen First-Person-Shooter Doom (1993) in einem Docker-Container lauffähig macht. Der Container startet ein Choc…

Image lässt sich nicht pullen - Ursachen und Lösungen

Image lässt sich nicht pullen - Ursachen und Lösungen schlägt fehl — je nach Fehlermeldung ist die Ursache eine andere, und die Lösung auch. Die häufigsten Fehler unauthorized: authentication required Das Image ist privat oder du bist nicht eingeloggt: Nach dem Login erneut pullen. manifest unknown …

Berechtigungsprobleme mit Bind Mounts lösen - UID und GID verstehen

Berechtigungsprobleme mit Bind Mounts lösen - UID und GID verstehen „Permission denied" beim Bind Mount ist einer der häufigsten Docker-Anfängerfehler – das Problem ist immer dasselbe: UID-Mismatch zwischen Container und Host. Das Problem verstehen Linux-Berechtigungen basieren auf numerischen User-…

Volume-Daten zwischen Hosts migrieren - Container-Daten umziehen

Volume-Daten zwischen Hosts migrieren - Container-Daten umziehen Einen Container von Server A nach Server B umziehen ist einfach – die Daten mitzunehmen erfordert etwas mehr Sorgfalt. Vorbereitung: Container stoppen Immer zuerst den Container stoppen bevor man Daten kopiert. Läuft eine Datenbank wäh…

Container crasht sofort - Exit-Codes verstehen und Fehler beheben

Container crasht sofort - Exit-Codes verstehen und Fehler beheben Ein Container startet und ist sofort wieder weg — der Exit-Code sagt dir, was schiefgelaufen ist. Exit-Code auslesen Exit-Codes im Detail Exit Code 0 — sauber beendet Der Prozess hat sich selbst regulär beendet. Kein Fehler — aber wen…

Named Volumes verwalten - anlegen, inspizieren und löschen

Named Volumes verwalten - anlegen, inspizieren und löschen Named Volumes sind die empfohlene Art persistente Daten in Docker zu verwalten – wer weiß wie man sie richtig handhabt, verliert keine Daten. Volume anlegen und verwenden In Compose wird das Volume im -Block der Service-Definition referenzie…

Dockhand - Docker-Container-Lifecycle automatisieren

Dockhand - Docker-Container-Lifecycle automatisieren Dockhand ist ein Automatisierungstool für Docker, das Container anhand von Regeln und Zeitplänen automatisch startet, stoppt und aktualisiert. Was ist Dockhand? Dockhand ermöglicht die regelbasierte Automatisierung von Docker-Container-Lebenszykle…

Netzwerkprobleme zwischen Containern debuggen

Netzwerkprobleme zwischen Containern debuggen Container im selben Stack können sich gegenseitig nicht erreichen — diese Checkliste führt systematisch zur Ursache. Das häufigste Missverständnis: localhost Innerhalb eines Containers ist der Container selbst — nicht der Host und nicht ein anderer Conta…

Speicherplatz in Docker verwalten - wenn die Festplatte voll ist

Speicherplatz in Docker verwalten - wenn die Festplatte voll ist Docker sammelt still und heimlich Gigabytes an – gestoppte Container, verwaiste Images, vergessene Volumes. Hier ist der systematische Weg raus. Überblick verschaffen Bevor man wild löscht, erstmal schauen was Platz verbraucht: Ausgabe…

Compose Toolbox - Docker-Compose-Dateien validieren und analysieren

Compose Toolbox - Docker-Compose-Dateien validieren und analysieren Die Compose Toolbox ist ein Web-Tool zum Überprüfen, Visualisieren und Analysieren von Docker-Compose-Konfigurationen direkt im Browser. Was ist Compose Toolbox? Compose Toolbox bietet eine grafische Oberfläche, mit der Docker-Compo…

Port already in use - den Konflikt finden und lösen

Port already in use - den Konflikt finden und lösen Die Fehlermeldung bedeutet: ein anderer Prozess belegt bereits den gewünschten Port — hier ist, wie man ihn findet und den Konflikt löst. Was genau passiert Wenn Docker einen Container startet und einen Host-Port binden will (z. B. ), prüft das Bet…

Volumes vs Bind Mounts vs tmpfs - was man wann in Docker verwendet

Volumes vs Bind Mounts vs tmpfs - was man wann in Docker verwendet Docker bietet drei verschiedene Speichertypen – wer den falschen wählt, hat früher oder später ein Problem. Named Volumes Named Volumes werden vollständig von Docker verwaltet. Docker legt sie unter ab und kümmert sich um Lebenszyklu…

Container startet nicht - systematische Diagnose in Docker

Container startet nicht - systematische Diagnose in Docker Ein Container startet nicht und du weißt nicht warum — diese Schritt-für-Schritt-Diagnose führt dich systematisch zur Ursache. Schritt 1: Container-Status prüfen Der wichtigste Wert ist die Spalte . Ein gestoppter Container zeigt — der Exit-…

dockmon - Docker-Container einfach überwachen

dockmon - Docker-Container einfach überwachen dockmon ist ein schlankes Monitoring-Tool für Docker-Container, das den Zustand laufender Container überwacht und bei Ausfällen Benachrichtigungen verschickt. Was ist dockmon? dockmon richtet sich an Homelab-Nutzer und kleine Infrastrukturen, die eine ei…

Netzwerkzugriff von Containern nach außen einschränken

Netzwerkzugriff von Containern nach außen einschränken Standardmäßig können Container frei ins Internet kommunizieren — das ist für Datenbanken und interne Services oft unnötig und ein Sicherheitsrisiko. Das Standard-Verhalten Jeder Container kann standardmäßig beliebige externe Verbindungen aufbaue…

Docker Compose Maker - Compose-Dateien per Web-UI erstellen

Docker Compose Maker Ein Browser-Tool, das per Formular eine fertige generiert — ohne manuelles YAML-Schreiben. Was ist Docker Compose Maker? Docker Compose Maker ist ein webbasiertes UI-Tool, das Entwicklern hilft, gültige -Dateien zu erstellen, ohne die YAML-Syntax auswendig zu kennen. Man wählt S…

Images scannen mit Trivy - Schwachstellen in Docker-Images finden

Images scannen mit Trivy - Schwachstellen in Docker-Images finden Trivy scannt Docker-Images auf bekannte Sicherheitslücken in OS-Paketen und Anwendungsabhängigkeiten — und lässt sich einfach in CI-Pipelines integrieren. Installation Grundnutzung Typische Ausgabe: Auf kritische Schwachstellen fokuss…

Den Docker-Socket absichern - das unterschätzte Sicherheitsrisiko

Den Docker-Socket absichern - das unterschätzte Sicherheitsrisiko Der Docker-Socket ist effektiv ein root-Shell auf dem Host — wer ihn in einen Container mountet, gibt diesem Container vollen Host-Zugriff. Warum der Socket so mächtig ist Wer den Docker-Socket hat, kann: Neue Container starten (auch …

Linux Capabilities in Docker begrenzen - cap-drop und cap-add

Linux Capabilities in Docker begrenzen - cap-drop und cap-add Docker-Container laufen mit einem reduzierten, aber immer noch signifikanten Set an Linux-Capabilities — wer wirklich absichern will, muss aktiv kürzen. Was sind Linux Capabilities? Linux teilt Root-Privilegien in granulare Einheiten auf.…

Docker Funbox - lustige Demo-Container zum Ausprobieren

Docker Funbox Eine Sammlung unterhaltsamer und demonstrativer Docker-Container — ideal zum Ausprobieren und Herumspielen. Was ist Docker Funbox? Docker Funbox ist kein einzelnes Image, sondern ein Konzept: eine kuratierte Auswahl aus kleinen, unkomplizierten Docker-Containern, die keinen produktiven…

Container nicht als root betreiben - USER im Dockerfile setzen

Container nicht als root betreiben - USER im Dockerfile setzen Standardmäßig laufen Container-Prozesse als root (UID 0) — das ist unnötig und vergößert die Angriffsfläche erheblich. Das Problem Ein Prozess als root im Container bedeutet: Wenn der Prozess kompromittiert wird, hat der Angreifer root-R…

docker compose up vs docker compose run - der Unterschied

docker compose up vs docker compose run - der Unterschied und klingen ähnlich, verfolgen aber grundlegend verschiedene Ziele — der falsche Befehl in einem Migrations-Script kostet Zeit und Nerven. docker compose up Startet alle Services und hält sie am Laufen: Startet alle Services mit ihren Abhängi…

Healthchecks in Docker definieren - mehr als nice-to-have

Healthchecks in Docker definieren - mehr als nice-to-have Ein Healthcheck meldet Docker, ob ein Container wirklich funktioniert — nicht nur ob er läuft. Das ist die Grundlage für zuverlässige Abhängigkeiten und automatische Selbstheilung. Healthcheck im Dockerfile Optionen: | Option | Bedeutung | De…

Container benennen und mit Labels strukturieren

Container benennen und mit Labels strukturieren Zufällige Container-Namen wie mögen amüsant sein — in produktiven Umgebungen braucht man vorhersehbare Namen und strukturierte Metadaten. Container benennen Ein expliziter Name hat direkte Vorteile: In Compose wird der Name automatisch aus Projektname …

docker inspect - alles über einen Container oder ein Image wissen

docker inspect - alles über einen Container oder ein Image wissen gibt vollständige Metadaten als JSON aus — was in oder nicht sichtbar ist, steht hier. Grundnutzung Die Ausgabe ist immer ein JSON-Array — auch bei einem einzelnen Objekt. Gezielt mit --format extrahieren Das vollständige JSON ist rie…

Container-Logs lesen, filtern und weiterleiten

Container-Logs lesen, filtern und weiterleiten ist der schnellste Weg zu Container-Ausgaben — aber ohne Konfiguration füllt die Standard-Log-Rotation früher oder später die Disk. Grundbefehle Kombiniert: Logs in Compose Log-Driver: das eigentliche Problem Standardmäßig nutzt Docker den -Driver: Logs…

docker-autocompose - Compose-Dateien aus laufenden Containern generieren

docker-autocompose Generiert automatisch eine aus bereits laufenden Docker-Containern — Reverse Engineering für dein Setup. Was ist docker-autocompose? docker-autocompose (red5d/docker-autocompose) liest die Konfiguration laufender Container aus der Docker-API aus und erzeugt daraus eine vollständig…

docker exec - in laufende Container schauen und Befehle ausführen

docker exec - in laufende Container schauen und Befehle ausführen ist das wichtigste Werkzeug zur Fehlersuche — damit lassen sich Befehle in laufenden Containern ausführen, ohne sie neu zu starten. Interaktive Shell öffnen hält stdin offen, allokiert ein Pseudo-Terminal. Beide Flags zusammen geben e…

Container-Ressourcen begrenzen - RAM und CPU-Limits setzen

Container-Ressourcen begrenzen - RAM und CPU-Limits setzen Ohne Ressourcen-Limits kann ein einziger Container den Host lahmlegen — RAM und CPU-Limits sind kein Luxus, sondern Pflicht. Das Problem Standardmäßig darf jeder Container beliebig viel RAM und CPU des Hosts verbrauchen. Eine Memory-Leak-App…

Jlesage GUI-Apps - GUI-Anwendungen per noVNC im Browser nutzen

Jlesage GUI-Apps - GUI-Anwendungen per noVNC im Browser nutzen Das jlesage/baseimage-gui-Image ist das Fundament für Docker-Container, die grafische Desktop-Anwendungen über einen integrierten noVNC-Webserver zugänglich machen. Was ist jlesage/baseimage-gui? jlesage hat eine Basis-Image-Familie entw…

Compose-Profile - Dienste situationsabhängig ein- und ausblenden

Compose-Profile - Dienste situationsabhängig ein- und ausblenden Mit Profilen lässt sich steuern, welche Dienste bei welchem Aufruf gestartet werden — ohne mehrere Compose-Dateien zu pflegen. Grundkonzept Dienste ohne starten immer. Dienste mit starten nur, wenn das passende Profil aktiv ist: Profil…

ngrep - Netzwerkpakete grep-artig filtern

ngrep Netzwerk-Grep-Tool im Docker-Container — Pakete nach Mustern filtern und inspizieren. Was ist ngrep? ngrep ist ein Kommandozeilen-Tool, das Netzwerkpakete in Echtzeit erfasst und wie grep nach regulären Ausdrücken filtert. Es zeigt den Payload von TCP-, UDP- und ICMP-Paketen leserlich an und e…

Dozzle - Docker-Logs in Echtzeit im Browser beobachten

Dozzle - Docker-Logs in Echtzeit im Browser beobachten Dozzle ist ein leichtgewichtiger Log-Viewer für Docker-Container, der Logs in Echtzeit im Browser anzeigt – ohne Datenbank, ohne Konfiguration. Was ist Dozzle? Dozzle verbindet sich über den Docker-Socket mit dem lokalen Docker-Daemon und stellt…

Mehrere Compose-Dateien kombinieren - das Override-Pattern

Mehrere Compose-Dateien kombinieren - das Override-Pattern Docker Compose kann mehrere Dateien zusammenführen — das ermöglicht saubere Trennung zwischen Basis-Konfiguration und umgebungsspezifischen Anpassungen. Das automatische Override Wenn im selben Verzeichnis eine liegt, lädt Compose sie automa…

CapRover - eigene PaaS-Plattform mit Docker

CapRover Self-hosted PaaS auf Docker-Swarm-Basis — einfaches App-Deployment ohne DevOps-Kenntnisse. Was ist CapRover? CapRover ist eine kostenlose, quelloffene Platform-as-a-Service-Lösung, die Docker Swarm als Unterbau nutzt. Es bietet ein Web-Dashboard und eine CLI, über die Anwendungen mit einem …

dockercraft - Docker-Container als Minecraft-Welt visualisieren

dockercraft - Docker-Container als Minecraft-Welt visualisieren Dockercraft verwandelt laufende Docker-Container in eine interaktive Minecraft-Welt, in der jeder Container als Gebäude dargestellt wird. Was ist dockercraft? Dockercraft ist ein Proof-of-Concept-Projekt, das die Docker-API abfragt und …

Macvlan in Docker - Container direkt im Heimnetz mit eigener IP

Macvlan in Docker - Container direkt im Heimnetz mit eigener IP Manchmal soll ein Container nicht hinter einem Port-Mapping versteckt sein, sondern wie ein normales Gerät im Netzwerk erscheinen — mit eigener IP-Adresse, die andere Geräte direkt ansprechen können. Dafür gibt es Macvlan. Was Macvlan m…

Die Grundstruktur einer docker-compose.yml - was wirklich reingehört

Die Grundstruktur einer docker-compose.yml - was wirklich reingehört Eine zu schreiben ist schnell getan — aber viele Beispiele im Netz enthalten veraltete Felder, fehlende Konfiguration und häufige Fallen. Hier ist was tatsächlich in eine moderne Compose-Datei gehört. Minimales, funktionsfähiges Be…

Host-Networking in Docker - wann es Sinn macht und wann nicht

Host-Networking in Docker - wann es Sinn macht und wann nicht Mit teilt sich ein Container den Netzwerk-Stack des Hosts direkt — kein Bridge-Netzwerk, keine Port-Übersetzung. Das hat spezifische Anwendungsfälle, aber auch klare Grenzen. Was Host-Networking bewirkt Normalerweise bekommt jeder Contain…

tcpdump - Netzwerktraffic im Container analysieren

tcpdump Klassisches Netzwerk-Analyse-Tool tcpdump als Docker-Container für schnelle Paketmitschnitte. Was ist tcpdump? tcpdump ist das bewährteste Kommandozeilen-Tool für Netzwerk-Paketmitschnitte unter Linux. Es erfasst Pakete auf einem Netzwerkinterface und zeigt sie entweder in Echtzeit an oder s…

Backup-Strategie für Docker-Volumes - Daten sichern die im Container leben

Backup-Strategie für Docker-Volumes - Daten sichern die im Container leben Container sind ephemer — die Daten darin sollten es nicht sein. Wer auf Backups von Docker-Volumes verzichtet, verliert bei einem Fehler alles. Wo liegen Volume-Daten? Named Volumes werden von Docker unter gespeichert: Man kö…

Eigene Images in einer privaten Registry ablegen

Eigene Images in einer privaten Registry ablegen Docker Hub ist die einfachste Option für Images — aber nicht immer die richtige. Rate Limits, private Code-Basis und Datenschutzanforderungen sprechen oft für eine eigene Registry. Warum eine private Registry? Docker Hub hat für kostenlose Accounts Pu…

Images für ARM und AMD64 bauen - Docker Buildx und Multi-Platform

Images für ARM und AMD64 bauen - Docker Buildx und Multi-Platform Raspberry Pi, Apple Silicon (M1/M2/M3), AWS Graviton — ARM-basierte Systeme sind keine Ausnahme mehr. Ein Image für mehrere Plattformen zu bauen ist mit einfacher als man denkt. Warum das relevant ist Ein Image, das auf AMD64 (x86_64)…

Dockerfile Best Practices - was wirklich zählt

Dockerfile Best Practices - was wirklich zählt Es gibt viele Ratschläge für Dockerfiles — dieser Artikel fokussiert auf die Punkte, die in der Praxis tatsächlich einen Unterschied machen. 1. Spezifische Basis-Image-Tags pinnen ist kein Version — bei einem kann Breaking Change kommen. Exakte Tags mac…

Glances - Systemauslastung im Browser überwachen

Glances - Systemauslastung im Browser überwachen Glances ist ein in Python geschriebenes System-Monitoring-Tool, das CPU, RAM, Festplatten, Netzwerk und laufende Prozesse übersichtlich im Browser oder Terminal anzeigt. Was ist Glances? Glances kombiniert die Stärken klassischer Unix-Tools wie und mi…

Layer-Cache gezielt nutzen - Docker-Builds beschleunigen

Layer-Cache gezielt nutzen - Docker-Builds beschleunigen Der Layer-Cache ist einer der größten Vorteile von Docker-Builds. Wer das Dockerfile falsch strukturiert, verliert ihn bei jeder Änderung — und wartet unnötig. Wie der Cache funktioniert Docker prüft beim Build jeden Layer: Hat sich die Instru…

Warum Docker-Images so groß werden - und was dagegen hilft

Warum Docker-Images so groß werden - und was dagegen hilft Ein 2-GB-Image für eine Node.js-App ist kein Ausnahmefall — es ist das Ergebnis von mehreren kleinen Entscheidungen, die sich addieren. Die häufigsten Ursachen und ihre Lösungen. Ursache 1: Falsches Basis-Image Das richtige Basis-Image zu wä…

Alpine vs Debian als Basis-Image - die richtige Wahl treffen

Alpine vs Debian als Basis-Image - die richtige Wahl treffen Die Wahl des Basis-Images beeinflusst Image-Größe, Kompatibilität, Debugging-Komfort und manchmal das Laufzeitverhalten. Es gibt keine universelle Antwort — aber klare Kriterien. Alpine Linux Alpine basiert auf statt der üblichen und verwe…

Dokku - Mini-PaaS für eigene App-Deployments

Dokku - Mini-PaaS für eigene App-Deployments Dokku ist ein selbstgehostetes Mini-PaaS, das Apps per deployt und dabei Buildpacks, Plugins und automatisches SSL unterstützt. Was ist Dokku? Dokku implementiert das Heroku-Deployment-Modell auf dem eigenen Server: Ein löst automatisch den Build-Prozess …

Multi-Stage Builds - Docker-Images drastisch verkleinern

Multi-Stage Builds - Docker-Images drastisch verkleinern Build-Tools, Compiler und Testframeworks braucht man zum Bauen einer Anwendung — aber nicht zum Ausführen. Multi-Stage Builds trennen beides sauber voneinander. Das Problem: aufgeblähte Images Ein naiver Ansatz packt alles in ein Image: Result…

Image-Tags - warum latest keine Versionierung ist

Image-Tags - warum latest keine Versionierung ist klingt nach dem aktuellen, stabilen Stand. In Wirklichkeit ist nur ein Label — und ein gefährliches dazu. Was Tags wirklich sind Tags sind einfache Zeiger auf einen bestimmten Image-Digest. Sie sind veränderlich: Wer ausführt, verschiebt den -Tag auf…

dockerignore richtig nutzen - was nicht ins Image gehört

dockerignore richtig nutzen - was nicht ins Image gehört ist eine der unterschätztesten Optimierungen beim Docker-Build — sie hält unnötige Dateien aus dem Image heraus und beschleunigt den Build-Prozess messbar. Was ist der Build-Kontext? Wenn man ausführt, sendet Docker den gesamten Inhalt des ang…

Drone - CI-CD-Pipelines mit Docker automatisieren

Drone - CI-CD-Pipelines mit Docker automatisieren Drone ist ein selbstgehostetes, container-natives CI/CD-System, das Pipelines als YAML-Dateien im Repository definiert und in Docker-Containern ausführt. Was ist Drone? Drone verfolgt einen „Pipeline as Code"-Ansatz: Jede -Datei im Git-Repository bes…

ARG vs ENV im Dockerfile - Build-Zeit gegen Laufzeit

ARG vs ENV im Dockerfile - Build-Zeit gegen Laufzeit und werden beide im Dockerfile definiert — aber sie leben in unterschiedlichen Phasen. Das zu verwechseln führt zu Builds, die sich nicht wie erwartet verhalten. ARG: nur während des Builds definiert eine Variable, die ausschließlich während exist…

COPY vs ADD im Dockerfile - wann man was verwenden sollte

COPY vs ADD im Dockerfile - wann man was verwenden sollte und kopieren beide Dateien in das Image — aber sie sind nicht austauschbar. Die Wahl zwischen den beiden ist eine Frage der Transparenz. COPY: das klare Werkzeug tut genau eine Sache: Dateien oder Verzeichnisse vom Build-Kontext ins Image kop…

CMD vs ENTRYPOINT - den Unterschied im Dockerfile verstehen

CMD vs ENTRYPOINT - den Unterschied im Dockerfile verstehen und sehen auf den ersten Blick ähnlich aus — beide legen fest, was beim Container-Start ausgeführt wird. Der Unterschied liegt darin, was sich zur Laufzeit noch überschreiben lässt. ENTRYPOINT: das Executable definiert den Hauptprozess des …

Container-Lebenszyklus - created, running, paused, exited verstehen

Container-Lebenszyklus - created, running, paused, exited verstehen Ein Container durchläuft verschiedene Zustände. Wer die Übergänge kennt, versteht warum manchmal leer ist, obwohl Container "da sein sollten". Die Zustände | Zustand | Bedeutung | |---|---| | | Container angelegt, aber noch nicht ge…

Docker Compose v2 - Plugin vs standalone und was heute gilt

Docker Compose v2 - Plugin vs standalone und was heute gilt Wer länger mit Docker arbeitet, kennt — mit Bindestrich. Neuere Installationen haben — ohne Bindestrich. Das ist kein Zufall, sondern ein Versionssprung mit Konsequenzen. Die Geschichte Docker Compose v1 war ein eigenständiges Python-Progra…

Was passiert beim docker run - Schritt für Schritt erklärt

Was passiert beim docker run - Schritt für Schritt erklärt — drei Worte, aber dahinter steckt eine ganze Kette von Schritten. Wer versteht, was Docker intern tut, debuggt Probleme schneller und trifft bessere Entscheidungen bei Konfiguration und Flags. Die Schritte im Detail 1. Lokalen Image-Cache p…

Das Layer-System - wie Docker-Images intern aufgebaut sind

Das Layer-System - wie Docker-Images intern aufgebaut sind Docker-Images sind keine monolithischen Blöcke — sie bestehen aus übereinanderliegenden, unveränderlichen Schichten. Das Layer-System ist der Grund, warum Docker-Builds schnell sind und warum mehrere Images sich denselben Speicher teilen kön…

Docker-Architektur - Client, Daemon und Registry erklärt

Docker-Architektur - Client, Daemon und Registry erklärt Hinter jedem steckt mehr als ein einzelner Prozess — Docker ist ein Client-Server-System mit drei klar getrennten Komponenten. Die drei Komponenten 1. Docker Client (CLI) Der Docker Client ist das, womit man täglich interagiert: das -Kommando …

Images und Container - der Unterschied den jeder kennen sollte

Images und Container - der Unterschied den jeder kennen sollte Ein Image und ein Container sind zwei grundverschiedene Dinge — wer das nicht versteht, kämpft früher oder später gegen Probleme, die eigentlich keine sein müssten. Das Image: der Blueprint Ein Docker-Image ist eine unveränderliche, schr…

Docker auf Ubuntu und Debian installieren - der richtige Weg

Docker auf Ubuntu und Debian installieren - der richtige Weg Docker lässt sich auf mehreren Wegen installieren — dieser Artikel zeigt den einzig empfehlenswerten für Produktivserver: über das offizielle apt-Repository. Warum nicht das Convenience-Script Docker stellt ein Installationsscript bereit (…