Deutsch
€EUR
Container

Docker

Kompatibel mit dem Infrawire-Installer

Docker Engine und Compose aus dem offiziellen Repository, sofort einsatzbereit

Mindestanforderungen
  • 1 GB RAM
Hersteller
Docker, Inc.
Version
Aktuelle stabile Version
Lizenz
Apache 2.0
Systeme
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

Über Docker

Docker ist eine Container-Engine: Sie verpackt eine Anwendung samt Abhängigkeiten in ein Image und führt sie isoliert auf dem Kernel des Hosts aus. Entwickler nutzen Docker, um lokal und in Produktion dieselbe Umgebung zu haben. Kleine Teams betreiben damit mehrere Dienste auf einer einzigen Maschine, ohne dass sich deren Abhängigkeiten in die Quere kommen.

Bei der Lieferung enthält Ihr Linux-VPS (Debian 12, Debian 13, Ubuntu 22.04 oder 24.04 sowie Ubuntu 20.04 mit den unten genannten Einschränkungen) die Docker Engine, installiert aus dem offiziellen apt-Repository von Docker. Die Pakete docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin und docker-compose-plugin sind vorhanden, die Dienste docker und containerd starten beim Booten automatisch.

Der Signaturschlüssel des Repositorys wird vor der Installation anhand seines Fingerprints geprüft. Am Ende des Rezepts läuft ein hello-world-Container, der bestätigt, dass der Daemon antwortet. Danach gehört der Server Ihnen: Standardmäßig wird kein Benutzer zur Gruppe docker hinzugefügt, und es wird keine Anwendung für Sie bereitgestellt.

Was Sie mit Docker tun können

  • Offizielles apt-Repository von Docker

    Die Pakete stammen von download.docker.com, der Fingerprint des Signaturschlüssels wird geprüft. Updates laufen über apt, wie beim Rest des Systems.

  • Compose und Buildx enthalten

    Das Compose-Plugin rufen Sie mit docker compose (ohne Bindestrich) auf, Buildx dient zum Bauen Ihrer Images. Einen Multi-Service-Stack können Sie schon bei der ersten Verbindung ausrollen.

  • Log-Rotation vorkonfiguriert

    Existiert /etc/docker/daemon.json noch nicht, schreibt das Rezept die Datei mit dem Treiber json-file, 10 MB pro Datei und 3 aufbewahrten Dateien. Container-Logs füllen so nicht unbemerkt die Platte.

  • Konfliktpakete werden entfernt

    Inoffizielle Pakete wie docker.io, podman-docker, containerd oder runc werden vor der Installation entfernt. Das verhindert gemischte Versionen, an denen der Daemon scheitern kann.

  • Root-äquivalenter Zugriff bleibt bei Ihnen

    Kein Konto wird der Gruppe docker hinzugefügt, die einem Root-Zugang gleichkommt. Sie entscheiden, wer dieses Privileg erhält.

  • Nachvollziehbares Installationsprotokoll

    Jeder Schritt wird in /var/log/docker-install.log protokolliert, und die Datei /var/lib/docker-install.done bestätigt, dass das Rezept vollständig durchgelaufen ist.

Erste Schritte mit Docker

Von der Bestellung bis zum Produktivbetrieb in wenigen Minuten.

  1. 1

    Bestellen Sie den VPS mit Docker

    Wählen Sie einen Linux-VPS in Paris oder Frankfurt, dann Debian 12, Debian 13, Ubuntu 22.04 oder 24.04, und setzen Sie im Reiter „Applications“ des Bestellformulars das Häkchen bei Docker.

  2. 2

    Verbinden Sie sich und prüfen Sie die Installation

    Melden Sie sich nach der Lieferung per SSH mit den erhaltenen Zugangsdaten an. Die Installation läuft beim ersten Start: Existiert die Marker-Datei noch nicht, warten Sie kurz und verfolgen das Log.

    Bash
    ssh USER@SERVER_IP cat /var/lib/docker-install.done tail -n 20 /var/log/docker-install.log
  3. 3

    Starten Sie den ersten Container

    Prüfen Sie die Versionen und starten Sie dann einen Test-Webserver. Der Port wird nur auf 127.0.0.1 veröffentlicht und ist damit während Ihrer Tests nicht aus dem Internet erreichbar.

    Bash
    docker --version && docker compose version docker run -d --name web -p 127.0.0.1:8080:80 nginx curl -I http://127.0.0.1:8080
  4. 4

    Sichern Sie den Server für die Produktion ab

    Setzen Sie einen Reverse-Proxy (Caddy, Traefik oder Nginx) vor Ihre Dienste, der YOUR_DOMAIN über HTTPS ausliefert, und veröffentlichen Sie im Internet nur die Ports 80 und 443. Lassen Sie alle anderen Ports auf 127.0.0.1, denn von Docker veröffentlichte Ports umgehen ufw. Sichern Sie schließlich Ihre Volumes und Compose-Dateien.

    Bash
    docker volume ls docker compose up -d

Einsatzbereiche von Docker

  • Mehrere isolierte Dienste betreiben

    Eine PostgreSQL-Datenbank, eine Webanwendung und ein Monitoring-Tool laufen jeweils im eigenen Container und sind in einer einzigen compose.yaml beschrieben. Sie aktualisieren oder starten sie unabhängig voneinander neu.

  • Selbst gehostete Anwendung bereitstellen

    Viele Open-Source-Projekte (n8n, Nextcloud, Gitea, Uptime Kuma …) liefern ein Docker-Image und ein Compose-Beispiel. Der VPS ist ohne weitere Vorbereitung bereit dafür.

  • Images bauen und testen

    Mit Buildx bauen Sie Ihre Images auf einer dedizierten Remote-Maschine, ohne Ihren Arbeitsrechner zu belasten. Das eignet sich für eine schlanke CI-Kette oder für Integrationstests.

  • Produktion in der Staging-Umgebung nachbilden

    Ein zweiter VPS mit derselben Docker-Version und denselben Compose-Dateien liefert Ihnen eine Abnahmeumgebung, die der Produktion nahekommt, bei geringem Administrationsaufwand.

Häufige Fragen zu Docker

Das Rezept installiert docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin und docker-compose-plugin aus dem offiziellen apt-Repository von Docker. Die Dienste docker und containerd starten beim Booten automatisch. Mit Compose v2 lautet der Befehl docker compose, nicht docker-compose.

Mehr über Docker

Firewall und veröffentlichte Ports

Das ist die häufigste Falle. Wenn Sie einen Port mit -p 8080:80 veröffentlichen, schreibt Docker eigene iptables-Regeln, und der Datenverkehr wird vor den Regeln von ufw oder firewalld verarbeitet. Ein ufw deny 8080 verhindert deshalb nichts.

Es gibt zwei verlässliche Wege: den Port an die lokale Schnittstelle binden (-p 127.0.0.1:8080:80) und den Dienst über einen Reverse-Proxy bereitstellen, oder in der Kette DOCKER-USER filtern, die Docker vor seinen eigenen Regeln auswertet. Der erste Weg ist einfacher und reicht in den meisten Fällen aus.

Gruppe docker und sudo

Die Mitgliedschaft in der Gruppe docker entspricht Root-Rechten auf dem Rechner, denn ein Container kann das Dateisystem des Hosts einbinden. Das Rezept fügt niemanden zu dieser Gruppe hinzu. Wenn Sie mit einem unprivilegierten Konto arbeiten möchten, fügen Sie es selbst hinzu und melden Sie sich anschließend neu an.

Bash
sudo usermod -aG docker USER

Container-Logs

Die bei der Lieferung geschriebene Datei /etc/docker/daemon.json begrenzt jeden Container auf 3 Dateien mit je 10 MB. Sie wird nur angelegt, wenn sie nicht bereits existierte. Um diese Werte zu ändern, bearbeiten Sie die Datei und starten den Daemon neu. Die neuen Einstellungen gelten nur für Container, die nach dem Neustart erstellt werden.

Bash
sudo systemctl restart docker

Updates

Das Docker-Repository ist in /etc/apt/sources.list.d/docker.sources eingetragen. Neue Versionen kommen daher mit den üblichen apt-Updates. Planen Sie diese für einen Zeitpunkt, zu dem ein Neustart des Daemons vertretbar ist, denn er kann Ihre Container unterbrechen, wenn die Option live-restore nicht aktiviert ist.

Bash
sudo apt update && sudo apt install --only-upgrade docker-ce docker-ce-cli containerd.io

Ubuntu 20.04

Docker unterstützt Ubuntu 20.04 offiziell nicht mehr. Das Rezept versucht die Installation dennoch, sofern das Docker-Repository diese Version noch anbietet, und schreibt eine Warnung ins Log. Für einen Produktionsserver sind Ubuntu 22.04, Ubuntu 24.04, Debian 12 oder Debian 13 vorzuziehen, die alle unterstützt werden.

Backups

Images lassen sich erneut herunterladen, Ihre Daten nicht. Sichern Sie benannte Volumes, eingebundene Verzeichnisse und Ihre compose.yaml-Dateien samt Umgebungsvariablen. Bei einer Datenbank ist ein logischer Export (pg_dump, mysqldump) einer Kopie des laufenden Volumes vorzuziehen.

Bleiben Sie über die neuesten Angebote, Rabatte und Sonderaktionen informiert.

Aktionen ansehen

Wir verwenden Cookies

Wir verwenden Analyse-Cookies, um Ihre Erfahrung auf unserer Website zu verbessern. Es werden keine Daten an Dritte verkauft. Mehr erfahren Sie in unserer Datenschutzerklärung.