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.