> ## Content Index
> Fetch the complete content index at: https://sakis.tech/llms.txt
> Use this file to discover other available public pages before exploring further.

# Docker installieren auf Debian und Ubuntu: Server vorbereiten, Schritt für Schritt
- URL: https://sakis.tech/docker-installieren-debian/
- Published: 2026-11-11T20:44:45.000Z
- Updated: 2026-11-12T04:34:33.000Z
- Description: Die Grundlage für jede weitere Anleitung: vom frisch installierten Debian- oder Ubuntu-Server zum laufenden Docker samt Compose. Einmal machen, danach beginnt jede Anleitung direkt bei der Anwendung.
- Author: Sakis
- Tags: homelab, docker

Fast jede Anleitung auf sakis.tech beginnt mit demselben Satz: Du brauchst einen Server mit Docker. Dieser Beitrag ist der eine Ort, an dem genau das passiert. Du hast einen frisch installierten Linux-Server, Debian oder Ubuntu, und bist per SSH verbunden. Am Ende läuft Docker, dein Benutzer darf es bedienen, und jede weitere Anleitung kann direkt bei der Anwendung anfangen.

**Kurz gesagt:** Am Ende läuft auf deinem Server Docker samt Compose, und dein Benutzer startet Container ohne `sudo`. Der Weg ist das offizielle Installationsskript von Docker, für Debian und Ubuntu derselbe. Rund 15 Minuten, Stufe Einsteiger: Du brauchst nur zu wissen, wie du dich per SSH verbindest, alles andere erkläre ich. Stand: Docker 29, geprüft am 11-11-2026 auf einem frischen Debian 13.

![Schaubild: Docker auf dem Server in drei Schritten, Werkzeuge holen, Docker installieren, freischalten und prüfen.](https://sakis.tech/content/images/2026/11/grafik2.png)

Der ganze Weg auf einen Blick

## Vorwissen: SSH, Terminal, Docker in drei Sätzen

Drei Begriffe begegnen dir in jedem Abschnitt, deshalb stehen sie hier einmal am Stück.

**SSH?** Eine Fernbedienung für deinen Server: Du sitzt an deinem PC, tippst Befehle, und sie werden auf dem Server ausgeführt, durch eine verschlüsselte Leitung. Unter Windows, macOS und Linux reicht dafür ein Terminal und der Befehl `ssh benutzername@192.168.178.20`: Vor dem `@` steht dein Benutzername auf dem Server (der, der sudo darf), dahinter seine Adresse. Beides setzt du durch deine eigenen Werte.

**Terminal?** Das Fenster, in das du Befehle tippst. Stell es dir als Chat mit dem Rechner vor: Du schreibst eine Zeile, drückst Enter, der Rechner antwortet. Alles, was in diesem Beitrag in einem Kasten mit **\[ über die shell \]** steht, tippst oder kopierst du in dieses Fenster.

**Docker?** Ein System, das Programme in abgeschlossene Kisten packt, Container genannt. In der Kiste ist alles drin, was das Programm braucht, deshalb läuft es auf jedem Server gleich. Jede Anwendung, die du später installierst, bekommt so eine Kiste.

Noch ein Wort zur Anmeldung. Du bist als Benutzer angemeldet, der `sudo` darf; bei Ubuntu ist das der Benutzer aus der Einrichtung, bei Debian der, den du beim Installieren angelegt hast. Deine Eingabezeile endet mit einem `$`. `sudo` steht vor jedem Befehl, der am System etwas ändert, und heißt „diesen einen Befehl als Verwalter ausführen", so wie ein Hausmeister, der für einen Handgriff den Generalschlüssel aus der Tasche holt. Bist du als `root` angemeldet, dem Verwalter-Konto selbst, endet deine Zeile mit `#`, und du lässt `sudo` einfach weg.

**So liest du diese Anleitung:** Alles, was du selbst tun sollst, steht in einem farbigen Kasten. **\[ per klick \]** heißt: Das erledigst du mit der Maus in einer Web-Oberfläche, in diesem Beitrag kommt keine vor, alles läuft im Terminal. **\[ über die shell \]** heißt: Den Befehl kopieren, ins Terminal einfügen, Enter. Stehen beide Kästen direkt untereinander, führen sie zum selben Ergebnis. Du gehst EINEN davon, nicht beide.

## Was du brauchst

- Einen frisch installierten Server mit Debian 12 oder 13 oder Ubuntu 22.04 oder neuer, erreichbar per SSH, und einen Benutzer, der `sudo` darf (Prüfbefehl: `sudo -v` fragt höchstens nach deinem Passwort und meldet sonst nichts). Geprüft wurde mit Debian 13.
- Internet auf dem Server, weil wir Docker herunterladen.

- IP-Adresse des Servers: `192.168.178.20`

## Werkzeuge installieren

Ein frischer Server kann wenig. Eines brauchen wir gleich: `curl`, ein Programm, das Dateien aus dem Internet holt. Es kommt als Paket.

**Paket?** Ein Programm in der Form, in der Linux es installiert, wie eine App aus einem App-Store. Der App-Store heißt bei Debian und Ubuntu `apt`. `apt update` lädt den aktuellen Katalog, `apt install` holt und installiert ein Paket.

```bash
sudo apt update
sudo apt install -y curl ca-certificates
```

Das `-y` beantwortet die Rückfrage „Weiter?" vorab mit Ja. Das Paket `ca-certificates` ist die Liste der vertrauenswürdigen Aussteller, damit `curl` verschlüsselte Verbindungen prüfen kann. Einen Texteditor für das Terminal musst du nicht installieren: `nano` bringen Debian und Ubuntu schon mit, spätere Anleitungen benutzen ihn. Dass `curl` da ist, zeigt dir eine Zeile mit der Version:

```bash
curl --version | head -1
```

Die Ausgabe beginnt mit `curl` und einer Versionsnummer. Welche Nummer, hängt von deinem System ab, deshalb drucke ich sie nicht ab.

## Docker installieren

Docker kommt aus der Quelle des Herstellers, nicht aus dem Katalog von Debian oder Ubuntu, weil der dort oft veraltet ist. Docker bietet dafür ein Installationsskript an, das für Debian und Ubuntu denselben Weg nimmt: Es richtet die Paketquelle von Docker ein und installiert alles Nötige, auch das Compose-Plugin, das wir gleich brauchen. Für Firmenserver empfiehlt Docker, die Paketquelle von Hand einzurichten; der Weg steht in der [Docker-Doku für Debian](https://docs.docker.com/engine/install/debian/?ref=sakis.tech) und der [für Ubuntu](https://docs.docker.com/engine/install/ubuntu/?ref=sakis.tech). Für ein Homelab ist das Skript der einfachere und gleichwertige Weg.

```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```

Der erste Befehl lädt das Skript in die Datei `get-docker.sh`, der zweite führt es als Verwalter aus. Das dauert ein bis drei Minuten, und es läuft viel Text durch. Am Ende steht eine Zusammenfassung mit der Docker-Version. Docker darf anfangs nur der Verwalter bedienen. Damit du nicht vor jeden Docker-Befehl `sudo` setzen musst, nimmst du deinen Benutzer in die Gruppe `docker` auf; `$USER` ist dabei der Platzhalter für deinen eigenen Benutzernamen, den die Shell selbst einsetzt.

```bash
sudo usermod -aG docker $USER
exit
```

Das `exit` beendet deine SSH-Sitzung, denn die neue Gruppe gilt erst nach einer neuen Anmeldung. Verbinde dich also noch einmal per SSH, genauso wie am Anfang. Dann die Probe, ob Docker wirklich arbeitet: Es lädt eine winzige Test-Kiste herunter und startet sie.

```bash
docker run hello-world
```

```text
Hello from Docker!
```

Diese Zeile steht mitten in der Ausgabe. Siehst du sie, läuft Docker. Und noch das Compose-Plugin, den Bauplan-Leser:

```bash
docker compose version
```

Die Antwort ist eine Zeile, die mit `Docker Compose version` beginnt. Kommt stattdessen „command not found", hat das Skript nicht sauber durchlaufen; dann einmal `sudo sh get-docker.sh` wiederholen und auf rote Fehlerzeilen achten. Kommt „permission denied" mit einem Hinweis auf `docker.sock`, hast du dich nach dem `usermod` noch nicht neu angemeldet.

## Was am Ende eingestellt ist

- **Benutzer und Rechte:** Dein Benutzer ist in der Gruppe `docker` und startet Container ohne `sudo`. Das ist bequem, heißt aber auch: Wer sich als dieser Benutzer anmelden kann, hat über Docker Verwalter-Rechte auf dem Server. Gib das Konto niemandem weiter.
- **Autostart:** Docker startet nach einem Neustart des Servers von selbst. Ob deine Container das auch tun, legt später jede Anwendung in ihrem Bauplan fest.
- **Updates:** Das Skript hat die Paketquelle von Docker eingerichtet. Neue Docker-Versionen kommen deshalb mit `sudo apt update` und `sudo apt upgrade`, wie alle anderen Pakete.
- **Von außen:** Docker selbst öffnet keine Tür nach außen. Erst eine Anwendung mit einem Port macht etwas im Heimnetz erreichbar.

## Wo es klemmt

- **„nano: command not found" in einer späteren Anleitung.** Auf sehr schlanken Servern fehlt der Editor. Dann hilft `sudo apt install -y nano`.
- **`sudo` fragt nach einem Passwort.** Das ist dein eigenes Anmelde-Passwort. Beim Tippen erscheint nichts, auch keine Sternchen; einfach eingeben und Enter. Kommt „is not in the sudoers file", darf dein Benutzer kein `sudo`; dann meldest du dich als `root` an und lässt `sudo` weg.
- **„permission denied" mit einem Hinweis auf `docker.sock`.** Die neue Gruppe gilt erst nach einer neuen Anmeldung. Einmal `exit`, neu per SSH verbinden, noch einmal versuchen.
- **Nach einem Neustart läuft Docker nicht.** Prüfe es mit `systemctl status docker`. Das Installationsskript richtet den Autostart ein; fehlt er, hilft `sudo systemctl enable --now docker`.

Welche Anwendung soll als Erste in eine Kiste auf deinem Server? Schreib es in die Kommentare, daraus wird eine der nächsten Anleitungen.

Wenn du wissen willst, welche Anleitung als Nächste auf diesem Server landet, trägst du dich in den Newsletter ein; er kommt nur, wenn es etwas Neues gibt.

sakis@homelab:\~$ echo "bleib neugierig — und bau dir was" 

## Quellen

- [Docker-Doku: Install Docker Engine on Debian (Paketquelle und Convenience-Skript)](https://docs.docker.com/engine/install/debian/?ref=sakis.tech)
- [Docker-Doku: Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/?ref=sakis.tech)
- [get.docker.com: das Installationsskript von Docker](https://get.docker.com/?ref=sakis.tech)
- [Docker-Doku: Linux post-installation steps (Gruppe docker)](https://docs.docker.com/engine/install/linux-postinstall/?ref=sakis.tech)