Zum Hauptinhalt springen

Docker auf Debian installieren

Warnung: Installieren Sie Docker nicht direkt mittels apt-Befehlen, ohne zuvor das Docker APT-Repository zu konfigurieren.

Voraussetzungen

Systemanforderungen

Docker unterstützt die folgenden Versionen von Debian Betriebssystemen:

  • Debian Bookworm 12 (stable)
  • Debian Bullseye 11 (oldstable)

Ältere Versionen deinstallieren

Bevor Sie Docker Engine installieren können, müssen Sie eventuell vorhandene Paketkonflikte entfernen.

Distro-Maintainer bieten inoffizielle Docker-Pakete in ihren Repositorys an. Sie müssen diese Pakete deinstallieren, bevor Sie die offizielle Version von Docker Engine installieren können.

Die inoffiziellen zu deinstallierenden Pakete sind:

  • docker.io
  • docker-compose
  • docker-doc
  • podman-docker

Darüber hinaus ist Docker Engine von containerd und runc abhängig. Docker Engine bündelt diese Abhängigkeiten als ein Bundle: containerd.io. Wenn Sie zuvor containerd oder runc installiert haben, deinstallieren Sie diese, um Konflikte mit den in Docker Engine gebündelten Versionen zu vermeiden.

Ältere Versionen von Docker hießen docker oder docker-engine. Deinstallieren Sie eventuelle ältere Versionen:

$ for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

Bilder, Container, Volumes und Netzwerke, die in /var/lib/docker/ gespeichert sind, werden bei der Deinstallation von Docker nicht automatisch entfernt. Wenn Sie mit einer sauberen Installation beginnen und eventuell vorhandene Daten löschen möchten: Um alle Bilder, Container und Volumes zu löschen:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Installation über das APT-Repository

Bevor Sie Docker Engine zum ersten Mal auf einer neuen Hostmaschine installieren, müssen Sie das Docker apt-Repository einrichten. Danach können Sie Docker aus dem Repository installieren und aktualisieren.

# Offizielle Docker GPG-Schlüssel hinzufügen:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Das Repository zu den APT-Quellen hinzufügen:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Auf einigen Debian-basierten Linux-Distributionen gibt $(lsb_release -cs) möglicherweise nicht den Debian-Versionscodenamenen zurück, wie z.B. Kali Linux, BunsenLabs Linux.

Docker installieren

Neueste Docker Version

Aktualisieren Sie den apt-Paketindex und installieren Sie das docker-ce-Paket:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Bestimmte Docker Version

# Verfügbare Versionen auflisten:
apt-cache madison docker-ce | awk '{ print $3 }'

5:25.0.0-1~debian.12~bookworm
5:24.0.7-1~debian.12~bookworm
...

Wählen Sie die gewünschte Version aus und installieren Sie sie:

VERSION_STRING=5:25.0.0-1~debian.12~bookworm
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

Docker überprüfen

Überprüfen Sie, ob die Installation erfolgreich war, indem Sie das hello-world-Image ausführen:

 sudo docker run hello-world

Dieser Befehl lädt ein Testimage herunter und führt es in einem Container aus. Wenn der Container läuft, gibt er eine Bestätigungsmeldung aus und beendet sich.

Installation mit Convenience-Skript

Für Test- oder Entwicklungsumgebungen stellt Docker ein Convenience-Skript zur Vereinfachung des Installationsprozesses auf Debian-Systemen bereit. Sie können auch die Option --mirror verwenden, um von einem regionalen Spiegel zu installieren:

Wenn Sie die Testversion von Docker installieren möchten, holen Sie sich das Skript von test.docker.com

# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror XXXX

Nach dem Ausführen dieses Befehls bereitet das Skript automatisch alles vor und installiert die stabile Version von Docker auf Ihrem System.

Docker starten

$ sudo systemctl enable docker
$ sudo systemctl start docker

Docker-Benutzergruppe erstellen

Standardmäßig verwendet der docker-Befehl einen Unix-Socket, um mit der Docker-Engine zu kommunizieren. Nur der root-Benutzer und Benutzer in der docker-Gruppe können auf den Unix-Socket der Docker-Engine zugreifen. Aus Sicherheitsgründen wird generell davon abgeraten, den root-Benutzer auf Linux-Systemen zu verwenden. Daher ist es besser, Benutzer, die docker benötigen, der docker-Benutzergruppe hinzuzufügen.

Erstellen Sie die docker-Gruppe:

$ sudo groupadd docker

Fügen Sie den aktuellen Benutzer zur docker-Gruppe hinzu:

$ sudo usermod -aG docker $USER

Melden Sie sich ab und wieder an, damit die Änderungen wirksam werden. Testen Sie dann, ob Docker korrekt installiert wurde.

Docker-Installation testen

$ docker run --rm hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. Die Docker-Engine hat einen neuen Container aus diesem Image erstellt, der die
ausführbare Datei ausführt, die die aktuelle Ausgabe erzeugt.
4. Die Docker-Engine hat diese Ausgabe an den Docker-Client gestreamt, der sie dann
an Ihr Terminal gesendet hat.

Um etwas Anspruchsvolleres auszuprobieren, können Sie einen Ubuntu-Container mit folgendem Befehl ausführen:
$ docker run -it ubuntu bash

Teilen Sie Bilder, automatisieren Sie Workflows und mehr mit einer kostenlosen Docker-ID:
https://hub.docker.com/

Für weitere Beispiele und Ideen besuchen Sie:
https://docs.docker.com/get-started/

Wenn Sie die obige Ausgabe sehen, war die Installation erfolgreich.

Referenzdokumentation