26.02.2022 — 17:00 Uhr | Geschätzte Lesedauer: 5 Minuten

Einleitung — Was ist Docker?

Docker ist eine Open-Source-Plattform zur Isolierung von Anwendungen mit Hilfe von Containervirtualisierung, mit der du Anwendungen schnell erstellen, testen und als portable Container bereitstellen kannst, die praktisch überall laufen. Ein Container stellt eine Laufzeit für eine einzelne Anwendung dar und enthält alles, was die Software zum Laufen braucht.

Docker ist ein fester Bestandteil moderner Softwareentwicklung und DevOps-Pipelines für kontinuierliche Integration und Bereitstellung.

In dieser Anleitung wird beschrieben, wie du Docker auf einem Ubuntu 20.04-System installierst.

Docker steht in den Standard-Repositories von Ubuntu 20.04 zur Installation zur Verfügung, aber es ist nicht immer die neueste Version. Wir werden das neueste Docker-Paket aus den offiziellen Docker-Repositories installieren.

Voraussetzungen

  • Debian/Ubuntu-basiertes Betriebssystemen auf einem dedizierter Server oder KVM/VPS.
  • Ein Root-Benutzerzugang oder ein normaler Benutzer mit administrativen Rechten.

Anmerkung

Der Docker-Daemon wird immer als root-Benutzer ausgeführt. Wenn du den docker Befehl nicht mit sudo einleiten willst, erstelle eine Gruppe namens docker und füge Benutzer hinzu. Wenn der Docker-Daemon startet, erstellt er einen Unix-Socket, auf den die Mitglieder der Docker-Gruppe zugreifen können.

Installation von Docker

Zuerst überprüfe, ob curl auf deinem Betriebssystem installiert ist. Das funktioniert unter Ubuntu und Debian gleich.

sudo apt update
sudo apt install curl

Die Installation von Docker unter Ubuntu ist ziemlich einfach. Wir aktivieren das Docker-Repository, importieren den GPG-Schlüssel des Repositorys und installieren das Paket.

Aktualisiere zunächst den Paketindex und installiere die notwendigen Dependencies, um ein neues HTTPS-Repository hinzuzufügen:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Importiere den GPG-Schlüssel des Repositorys mit dem folgenden curl-Befehl:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Füge das Docker APT Repository zu deinem System hinzu:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Jetzt, wo das Docker-Repository aktiviert ist, kannst du jede Docker-Version installieren, die in den Repositories verfügbar ist.


  • 1. Um die neueste Version von Docker zu installieren, führe die folgenden Befehle aus. Wenn du eine bestimmte Docker-Version installieren möchtest, überspringe diesen Schritt und gehe zum nächsten über.
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
  • 2. Um eine bestimmte Version zu installieren, liste zunächst alle verfügbaren Versionen im Docker-Repository auf:
sudo apt update
apt list -a docker-ce

Die verfügbaren Docker-Versionen sind in der zweiten Spalte aufgeführt. Zum Zeitpunkt der Erstellung dieses Artikels ist die aktuellste Docker-Version (5:20.10.12~3-0~ubuntu-focal) in den offiziellen Docker-Repositories.

docker-ce/focal,now 5:20.10.12~3-0~ubuntu-focal amd64

Installiere eine bestimmte Version, indem du =<VERSION> nach dem Paketnamen hinzufügst:

sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

Starte und aktiviere den Docker-Dienst: (falls, dass nicht schon bei der Installation geschehen ist)

sudo systemctl start docker && sudo systemctl enable docker

Sobald die Installation abgeschlossen ist, wird der Docker-Dienst (meistens) automatisch gestartet. Du kannst ihn überprüfen, indem du eingibst:

sudo systemctl status docker

Die Ausgabe sieht dann etwa so aus:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-02-11 20:05:51 CET; 42s ago

Wenn eine neue Version von Docker veröffentlicht wird, kannst du die Pakete mit dem Standardverfahren sudo apt update && sudo apt upgrade aktualisieren.


Ausführen von Docker Befehlen als Nicht-Root Benutzer

Standardmäßig können nur root und Benutzer mit sudo-Rechten Docker-Befehle ausführen.

Um Docker-Befehle als Nicht-Root Benutzer auszuführen, musst du deinen Benutzer der Docker-Gruppe hinzufügen, die bei der Installation des Docker CE-Pakets erstellt wird. Dazu gibst du ein:

sudo usermod -aG docker $USER

$USER ist eine Umgebungsvariable, die deinen Benutzernamen enthält.

Melde dich ab und melde dich wieder an, damit die Gruppenzugehörigkeit erneuert wird.


Überprüfen der Installation

Um zu überprüfen, ob Docker erfolgreich installiert wurde und ob du den docker Befehl ohne vorangestelltes sudo ausführen kannst, starten wir einen Testcontainer:

docker container run hello-world

Der Befehl lädt das Test-Image herunter, wenn es nicht lokal gefunden wurde, führt es in einem Container aus, gibt eine “Hello from Docker!”-Meldung aus und beendet sich. Die Ausgabe sollte wie die folgende aussehen:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:97a379f4f88575512824f3b352bc03cd75e239179eea0fecc38e597b2209f49a
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. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Der Container wird nach dem Ausgeben der Nachricht angehalten, da er keinen lang laufenden Prozess hat.

Standardmäßig bezieht Docker die Images aus dem Docker Hub. Dabei handelt es sich um einen cloudbasierten Registry-Dienst, der unter anderem die Docker-Images in öffentlichen oder privaten Repositories speichert.

Deinstallation von Docker

Bevor du Docker deinstallierst, ist es ratsam, alle Container, Images, Volumes und Netzwerke zu entfernen.

Führe die folgenden Befehle aus, um alle laufenden Container zu stoppen und alle Docker-Volumes zu entfernen:

docker container stop $(docker container ls -aq)
docker system prune -a --volumes

Du kannst Docker nun wie jedes andere installierte Paket mit apt deinstallieren:

sudo apt purge docker-ce
sudo apt autoremove

Fazit

Ich habe dir gezeigt, wie du Docker auf einem Ubuntu 20.04 System installierst. Wenn du mehr über Docker erfahren möchtest, schau dir die offizielle Docker-Dokumentation an.

Bei Fragen, Verbesserungsvorschlägen oder anderen Anliegen, schreibe einen Kommentar oder eine E-Mail an kontakt@toaaa.de