Gegenfeld
6 min read

Wie Sie Docker auf Ubuntu installieren

Wie Sie Docker auf Ubuntu installieren

Diese Anleitung behandelt die Installation der Docker Community Edition (CE) auf Ubuntu 20.04, den Umgang mit Images und Containern sowie das Hochladen eigener Images in ein Docker-Repository. Für Cloud-Nutzer bietet UpCloud ¹ (europäischer Cloud-Anbieter) robuste, leistungsstarke Server, die Container-Workloads mit überlegener Netzwerkleistung und skalierbarer Infrastruktur unterstützen.

Voraussetzungen

Bevor Sie beginnen, vergewissern Sie sich, dass Sie die folgenden Voraussetzungen erfüllen:

  • Server mit Ubuntu-20.04 oder höher.

  • Non-Root-User, der über sudo-Rechte verfügt.

  • Überprüfen Sie, ob die Firewall korrekt eingerichtet ist.

Wir haben eine Partnerschaft mit UpCloud geschlossen und bieten Ihnen 25 € Guthaben gratis an – starten Sie jetzt mit Cloud-Servern für Self-Hosting und mehr!

Installation von Docker

Aktualisieren der Paketliste

Beginnen Sie damit, Ihre Paketliste zu aktualisieren, damit Ihr System die neuesten Versionsinformationen aller Pakete abruft. Führen Sie folgenden Befehl aus:

Paketliste aktualisieren
bash
sudo apt update

Dieser Befehl verbindet sich mit den Ubuntu-Repositories und aktualisiert die lokale Paketdatenbank – eine Voraussetzung für die Installation der Docker-Abhängigkeiten.

Installation erforderlicher Pakete

Installieren Sie die notwendigen Pakete, die apt ermöglichen, HTTPS für den Paketdownload zu nutzen. Sichern Sie die Downloads und überprüfen Sie die Paketintegrität mit:

Installation grundlegender Pakete für HTTPS-fähige APT-Repositories
bash
sudo apt install apt-transport-https ca-certificates curl software-properties-common

Diese Pakete sind essentiell für die sichere Kommunikation und das Management der Software-Eigenschaften während der Docker-Installation.

Hinzufügen des Docker GPG-Schlüssels

Um die Authentizität der Pakete sicherzustellen, fügen Sie den offiziellen Docker GPG-Schlüssel hinzu. Dieser Schritt validiert die Docker-Pakete, die Sie herunterladen, und schützt vor Manipulationen:

Docker-GPG-Schlüssel herunterladen und zu APT hinzufügen
bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Hinzufügen des Docker-Repositories

Binden Sie das Docker-Repository in Ihre Paketquellen ein, um Zugriff auf die neuesten Docker CE-Releases zu erhalten. Führen Sie folgenden Befehl aus, um das Repository für Ubuntu 20.04 (focal) hinzuzufügen:

Docker-APT-Repository für Ubuntu hinzufügen
bash
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Diese Aktion aktualisiert Ihre Paketquellen und stellt sicher, dass Docker-Pakete aus dem offiziellen Docker-Repository bezogen werden.

Überprüfen der Repository-Einrichtung

Bevor Sie Docker installieren, überprüfen Sie, ob das Repository korrekt hinzugefügt wurde. Zeigen Sie die zur Verfügung stehende Docker CE-Kandidatenversion an mit:

Verfügbare Docker-CE-Versionen und Repository-Quelle anzeigen
bash
apt-cache policy docker-ce

Dieser Schritt bestätigt, dass die Docker-Pakete von der richtigen Quelle und nicht aus den Standard-Ubuntu-Repositories installiert werden.

Installation von Docker

Nachdem das Repository eingerichtet ist, installieren Sie Docker CE mit folgendem Befehl:

Docker CE installieren
bash
sudo apt install docker-ce

Dieser Befehl installiert sowohl den Docker-Daemon als auch die Docker-Befehlszeilenschnittstelle und bereitet Ihr System für das Container-Management vor.

Überprüfung des Docker-Status

Nach der Installation überprüfen Sie, ob Docker läuft und so konfiguriert ist, dass es beim Booten startet. Prüfen Sie den Status des Dienstes mit:

Status des Docker-Dienstes prüfen
bash
sudo systemctl status docker

Die Ausgabe sollte anzeigen, dass Docker aktiv und laufend ist – ein Hinweis darauf, dass die Installation erfolgreich war.

Docker ohne Sudo verwenden

Hinzufügen des Benutzers zur Docker-Gruppe

Standardmäßig erfordern Docker-Befehle sudo-Rechte. Um Docker-Befehle ohne sudo auszuführen, fügen Sie Ihren Benutzer der Docker-Gruppe hinzu:

Benutzer zur Docker-Gruppe hinzufügen
bash
sudo usermod -aG docker ${USER}

Anwenden der Gruppenänderung

Nach der Änderung der Gruppenmitgliedschaft müssen Sie sich ab- und wieder anmelden oder den folgenden Befehl ausführen, um Ihre Sitzung zu aktualisieren:

Benutzerwechsel durchführen, um Gruppenänderungen zu übernehmen
bash
su - ${USER}

Bestätigung der Gruppenmitgliedschaft

Überprüfen Sie, ob Ihr Benutzer nun Mitglied der Docker-Gruppe ist, indem Sie folgenden Befehl ausführen:

Zugehörige Gruppen des aktuellen Benutzers anzeigen
bash
groups

In der Ausgabe sollte „docker“ unter Ihren Gruppen aufgeführt sein, was Ihnen erlaubt, Docker-Befehle ohne sudo auszuführen.

Verwendung von Docker-Befehlen

Verständnis der Befehlsstruktur von Docker

Docker-Befehle folgen einer konsistenten Struktur, die das Container-Management vereinfacht. Die allgemeine Syntax lautet:

Grundstruktur eines Docker-Befehls
bash
docker [option] [command] [arguments]

Diese Struktur erleichtert es, die Möglichkeiten von Docker zu erkunden und spezifische Befehle auszuführen.

Hilfe zu Befehlen aufrufen

Um eine Liste aller verfügbaren Docker-Befehle anzuzeigen, geben Sie ein:

Docker-CLI aufrufen und Hilfe anzeigen
bash
docker

Für detaillierte Hilfe zu einem spezifischen Befehl fügen Sie die Option --help hinzu, wie hier:

Zeigt die Hilfe und verfügbaren Optionen für docker run an
bash
docker run --help

Diese Vorgehensweise bietet umfassende Informationen zur Nutzung des Befehls und zu den verfügbaren Optionen.

Arbeiten mit Docker-Images

Testen von Docker mit dem Hello-World-Image

Images bilden die Grundlage der Docker-Container. Überprüfen Sie Ihre Installation, indem Sie einen einfachen Test mit dem hello-world-Image ausführen:

Test Docker installation using the “Hello World” container
bash
docker run hello-world

Beim Ausführen dieses Befehls lädt Docker das hello-world-Image (falls noch nicht vorhanden), erstellt einen Container und zeigt eine Willkommensnachricht an, die bestätigt, dass Ihre Einrichtung korrekt funktioniert.

Suchen nach Docker-Images

Um Images auf Docker Hub zu erkunden, können Sie nach spezifischen Images suchen. Um beispielsweise nach einem Ubuntu-Image zu suchen, führen Sie aus:

Search for available Ubuntu containers on Docker Hub
bash
docker search ubuntu

Dieser Befehl liefert eine Liste verfügbarer Images mit Angaben zur Herkunft und Beliebtheit des jeweiligen Images.

Herunterladen eines Images von Docker Hub

Laden Sie das Ubuntu-Image herunter, indem Sie den Pull-Befehl ausführen:

Herunterladen des offiziellen Ubuntu-Images vom Docker Hub
bash
docker pull ubuntu

Dieser Befehl lädt das Image von Docker Hub herunter und speichert es lokal zur weiteren Verwendung.

Auflisten heruntergeladener Images

Überprüfen Sie nach dem Herunterladen der Images deren Vorhandensein auf Ihrem System, indem Sie diese auflisten:

Alle lokal vorhandenen Docker-Images anzeigen
bash
docker images

Die Ausgabe zeigt Details wie Image-Namen, Tags, Größen und Erstellungsdaten.

Ausführen eines Docker-Containers

Starten eines interaktiven Containers

Um einen Container basierend auf dem Ubuntu-Image mit interaktivem Shell-Zugriff zu starten, führen Sie aus:

Einen interaktiven Ubuntu-Container starten
bash
docker run -it ubuntu

Die Optionen -it reservieren ein pseudo-TTY und halten den Standard-Input offen, sodass Sie direkt mit dem Container interagieren können.

Aktualisieren des Containers und Installieren von Anwendungen

Innerhalb des Containers aktualisieren Sie die Paketdatenbank mit:

Paketlisten der APT-Repositories aktualisieren
bash
apt update

Installieren Sie Anwendungen wie Node.js, um Veränderungen in der Containerumgebung zu beobachten:

Node.js installieren
bash
apt install nodejs

Überprüfen Sie die Installation, indem Sie die Node.js-Version abfragen:

Installierte Node.js-Version anzeigen
bash
node -v

Verlassen des Containers

Wenn Sie Ihre Arbeit im Container beendet haben, geben Sie exit ein, um die interaktive Sitzung zu beenden. Dies beendet den interaktiven Modus des Containers, bewahrt jedoch etwaige vorgenommenen Änderungen.

Management von Docker-Containern

Anzeigen aktiver Container

Überwachen Sie Ihre laufenden Container, indem Sie nur die aktiven anzeigen:

Laufende Docker-Container anzeigen
bash
docker ps

Dieser Befehl liefert Details wie Container-IDs, verwendete Images und den Laufzeitstatus.

Anzeigen aller Container

Um eine vollständige Liste zu erhalten, die sowohl laufende als auch gestoppte Container enthält, verwenden Sie:

Alle Docker-Container anzeigen, einschließlich gestoppter
bash
docker ps -a

Diese umfassende Ansicht hilft Ihnen, die Containerhistorie und -nutzung nachzuvollziehen.

Starten und Stoppen von Containern

Starten Sie einen gestoppten Container neu, indem Sie dessen Container-ID oder Namen angeben:

Einen gestoppten Docker-Container starten
bash
docker start [container_id_or_name]

Umgekehrt stoppen Sie einen laufenden Container mit:

Einen laufenden Docker-Container stoppen
bash
docker stop [container_id_or_name]

Mit diesen Befehlen können Sie den Zustand der Container effektiv steuern.

Entfernen unnötiger Container

Wenn ein Container nicht mehr benötigt wird, entfernen Sie ihn, um Systemressourcen freizugeben. Verwenden Sie folgenden Befehl (ersetzen Sie dabei den Platzhalter durch die tatsächliche Container-ID oder den Namen):

Einen Docker-Container löschen
bash
docker rm [container_id_or_name]

Das Entfernen ungenutzter Container trägt zu einer sauberen und effizienten Umgebung bei.

Erstellen von Docker-Images

Änderungen eines Containers committen

Nachdem Sie im Container Änderungen vorgenommen haben, können Sie diese sichern, indem Sie sie in ein neues Image übernehmen. Führen Sie dazu den Commit-Befehl mit einer aussagekräftigen Nachricht und Autor-Informationen aus:

Änderungen eines Containers in ein neues Docker-Image speichern
bash
docker commit -m "Installed Node.js and updated packages" -a "Your Name" [container_id] new_image_name

Dieser Vorgang erstellt einen Schnappschuss Ihres Containers, den Sie für zukünftige Deployments wiederverwenden können.

Bestätigung des neuen Images

Überprüfen Sie, ob das neue Image erfolgreich erstellt wurde, indem Sie Ihre lokalen Images auflisten:

Alle lokal vorhandenen Docker-Images anzeigen
bash
docker images

Diese Überprüfung stellt sicher, dass Ihr benutzerdefiniertes Image unter den verfügbaren Images erscheint.

Hochladen von Images zu Docker Hub

Anmeldung bei Docker Hub

Um Ihr benutzerdefiniertes Image zu teilen, melden Sie sich zunächst bei Docker Hub mit Ihren Zugangsdaten an:

Beim Docker-Registry-Konto anmelden
bash
docker login

Nach erfolgreicher Authentifizierung können Sie Images in Ihr Docker Hub Repository hochladen.

Taggen des neuen Images

Falls Ihr Docker Hub-Benutzername von Ihrem lokalen Benutzernamen abweicht, versehen Sie Ihr Image mit einem passenden Tag:

Ein Docker-Image für Docker Hub markieren (taggen)
bash
docker tag new_image_name your_dockerhub_username/new_image_name

Durch das richtige Taggen wird sichergestellt, dass das Image Ihrem Docker Hub-Konto zugeordnet wird.

Hochladen des Images in das Repository

Laden Sie Ihr Image mit dem Push-Befehl zu Docker Hub hoch:

Ein Docker-Image zu Docker Hub hochladen
bash
docker push your_dockerhub_username/new_image_name

Dieser Befehl überträgt Ihr Image in das Repository, sodass es auf anderen Systemen verwendet werden kann. Der Vorgang kann je nach Netzwerkgeschwindigkeit und Image-Größe einige Minuten dauern.

Fazit

Sie haben nun Docker auf Ubuntu 20.04 installiert, grundlegende Docker-Befehle erkundet, Images und Container verwaltet sowie ein benutzerdefiniertes Image zu Docker Hub hochgeladen. Diese Anleitung bietet eine solide Basis in der Containerisierung, sodass Sie gut vorbereitet sind, Docker in Ihre Entwicklungs- und Bereitstellungsprozesse zu integrieren.

Für leistungsstarke Cloud-Lösungen, die Container-Workloads optimieren, bietet UpCloud ¹ moderne Netzwerkfunktionen und skalierbare Infrastrukturen, die sicherstellen, dass Ihre Docker-Anwendungen in Produktionsumgebungen effizient laufen.

¹ Dieser Link verweist auf eine kommerzielle Website und ist als „gesponsert“ klassifiziert.

Geschrieben von

G

Gegenfeld Team

Gegenfeld Team