Docker ist ein beliebtes Werkzeug für die Entwicklung und den Einsatz von Software in Paketen, die als Container bezeichnet werden. Ubuntu ist eine der beliebtesten Linux-Distributionen und ein Betriebssystem, das von Docker gut unterstützt wird.
Die Installation von Docker unter Ubuntu schafft eine ideale Plattform für deine Entwicklungsprojekte, indem du leichtgewichtige virtuelle Maschinen verwendest, die den Kernel des Ubuntu-Betriebssystems nutzen. In diesem Tutorial erfährst du 4 Möglichkeiten, wie du das erreichen kannst.
Mehr über Docker
Docker hilft dabei, Anwendungen portabel zu machen, indem du sie auf jedem Docker-Host erstellen und ausführen kannst. Ein Container-Image kann ohne Änderungen überall verwendet werden, wo Docker verfügbar ist – von deinem Laptop bis zur Cloud. Das vereinfacht die Arbeit von Entwicklern, da es keine Unterschiede zwischen verschiedenen Laufzeitumgebungen gibt. Das Containerformat lässt sich außerdem leicht auf mehrere physische Maschinen verteilen, sodass du deine Anwendungen bei wechselnden Anforderungen einfach skalieren kannst.
Docker enthält alles, was du brauchst, um Container-Images zu erstellen und auszuführen, egal ob sie von Docker Hub und anderen öffentlichen Registrierungsstellen oder aus deinen eigenen Dockerdateien stammen.
Vorbereitungen für die Installation von Docker unter Ubuntu
Du kannst die neueste Docker-Version auf den Ubuntu-Versionen 18.04, 20.04, 21.10 und 22.04 installieren. Die Architekturen x64_64/AMD64, ARMhf, ARM64 und S390x werden unterstützt.
Es gibt mehrere Möglichkeiten, Docker zu installieren, und deine Wahl hängt von den Funktionen ab, die du brauchst, und von deinem bevorzugten Ansatz für die Paketverwaltung. In diesem Leitfaden lernst du alle möglichen Optionen kennen.
Auswählen eines Docker Flavors
Docker unter Linux wurde traditionell nur auf dem Terminal installiert. Eine funktionierende Installation besteht aus der Docker Engine, einem Daemon, der deine Container ausführt, und dem docker
command-line interface (CLI) für die Interaktion mit dem Daemon.
Docker Desktop ist eine alternative Möglichkeit, Docker zu nutzen. Er war bisher nur für Windows und Mac verfügbar und wurde im Mai 2022 auch für Linux eingeführt. Docker Desktop unter Ubuntu erfordert einen AMD64-Prozessor und entweder Ubuntu 21.10 oder 22.04. Er bietet eine grafische Oberfläche zur Verwaltung deiner Container, einen integrierten Kubernetes-Cluster und Unterstützung für Erweiterungen von Drittanbietern. Mit Docker Desktop stehen dir auch die CLIs docker
und Docker Compose zur Verfügung.
Docker Desktop unterscheidet sich von der Docker Engine dadurch, dass es eine virtuelle Maschine verwendet, um deine Container auszuführen (deshalb ist Docker Desktop für Windows- und MacOS-Nutzer erforderlich). Obwohl es möglich ist, beide Varianten nebeneinander auf Ubuntu zu verwenden, kann es zu Konflikten zwischen den docker
CLI-Versionen kommen. Am besten entscheidest du dich für eine und bleibst bei ihr. Entscheide dich für Docker Engine, wenn du dich in deinem Terminal wohlfühlst und die beste Unterstützung und Leistung haben willst. Die VM von Docker Desktop ist etwas wuchtiger, aber die bessere Wahl, wenn du eine integrierte Benutzeroberfläche möchtest oder Kubernetes nutzen willst.
Installation des Docker Engine unter Ubuntu
Docker Engine ist der Standardweg, um Docker auf Ubuntu auszuführen. Es funktioniert mit allen unterstützten Versionen und Umgebungen, von einem lokalen Ubuntu-Desktop-Rechner bis zu deinem Ubuntu-Server-Cloud-Host. Vergewissere dich, dass du Ubuntu Version 18.04 oder neuer verwendest, bevor du fortfährst.
Docker Engine kann auf 3 verschiedene Arten installiert werden:
- Ein offizielles Ubuntu
apt
Repository - Ein eigenständiges Debian-Paket (
.deb
) - Ein automatisches Installationsskript
Option 1, das Ubuntu apt
Repository, ist die am häufigsten verwendete. Sie fügt Docker zu deiner Paketliste hinzu, so dass du zukünftige Updates einfach über apt upgrade
installieren kannst. Option 2 unterstützt keine automatisierten Updates, ist aber ideal für die Installation von Docker auf luftgekühlten Offline-Systemen. Das automatische Installationsskript ist die einfachste Methode, um loszulegen, aber es ist nur für den Einsatz in der Entwicklung konfiguriert. Docker rät davon ab, es in Produktionsumgebungen zu verwenden.
Verwende das apt
Repository, wenn du mit einem Produktionssystem arbeitest, einfache Aktualisierungen wünschst oder in allen Umgebungen den gleichen Mechanismus verwenden willst.
Verwende das automatische Installationsskript, wenn du Docker schnell einrichten und auf deinem eigenen Rechner ausprobieren möchtest.
1. Docker über das apt-Repository installieren
Docker veröffentlicht Pakete in seinem eigenen Repository apt
. Du musst dieses Repository zu deiner apt
Quellenliste hinzufügen, sonst kann deine apt
Installation die Docker-Pakete nicht finden.
Beginne damit, deine bestehende Paketliste zu aktualisieren und einige Abhängigkeiten für die folgenden Schritte zu installieren. Die Tools ca-certificates
, curl
, gnupg
und lsb_release
werden verwendet, um die richtigen Docker apt
Repository-Details und den Signierschlüssel für dein System herunterzuladen. Obwohl du diese Pakete wahrscheinlich schon hast, kann es nicht schaden, sicherzustellen, dass sie verfügbar sind.
$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release
Als Nächstes registrierst du den GPG-Schlüsselring von Docker mit apt. So kann apt
die von dir installierten Docker-Pakete validieren.
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
Der Befehl curl
lädt den GPG-Schlüssel von Docker für Ubuntu herunter, wandelt ihn in die Standard-OpenGPG-Kodierung um und speichert ihn im Keyring-Verzeichnis von apt. Mit chmod
werden die Berechtigungen für die Keyring-Datei festgelegt, damit apt
sie zuverlässig erkennen kann.
Jetzt kannst du die Docker-Paketquelle zu deinem System hinzufügen. Führe den folgenden Befehl aus:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Dieser Befehl nutzt die Shell-Ersetzung, um automatisch die Architektur deines Systems zu erkennen, z.B. AMD64 oder ARM64, und lädt die entsprechende Paketliste herunter. Sie wird mit dem zuvor hinzugefügten GPG-Schlüssel verifiziert. Das Repository wird als neue Paketliste innerhalb der apt
hinzugefügt.
/etc/apt/sources.list.d
directory.
Aktualisiere deine Paketlisten erneut, damit apt
weiß, dass die Docker-Pakete existieren:
$ sudo apt update
Jetzt kannst du den Befehl apt install
verwenden, um die Komponenten von Docker zu deinem System hinzuzufügen. Du installierst die neueste Version von Docker Community Edition (CE). Es gibt drei Pakete zu installieren:
docker-ce
: der Docker-Engine-Daemon.docker-ce-cli
: das Docker CLI, mit dem du interagierst.containerd.io
die Container-Runtime namens containerd, die deine Container startet und ausführt.
$ sudo apt install docker-ce docker-ce-cli containerd.io
2. Installation von Docker mit dem Debian-Paket
Das offizielle .deb
Paket ist einfach einzurichten, aber du musst jede neue Veröffentlichung manuell herunterladen und installieren. Die Pakete werden auf einem einfachen Dateiserver gehostet. Gehe zuerst auf die Seite mit den Versionshinweisen von Docker, um die neueste verfügbare Versionsnummer zu finden, z. B. 20.10.20. Als Nächstes gehst du auf die GitHub-Seite von containerd, um auch dort die Versionsnummer zu überprüfen. Sie wird wie 1.6.8 aussehen.
Jetzt kannst du die folgende Befehlsfolge ausführen, um die richtigen Pakete für deine Plattform herunterzuladen. Ersetze <DOCKER_VERSION>
und <CONTAINERD_VERSION>
durch die aktuellen Versionsnummern von Docker und containerd.
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb
Du kannst die Dateien auch herunterladen und alle verfügbaren Versionen einsehen, indem du die Verzeichnisliste für deine Ubuntu-Version in deinem Browser aufrufst.
Sobald du die Pakete Docker CE, CLI und containerd heruntergeladen hast, kannst du sie mit dem folgenden Befehl installieren:
$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb
Passe die Dateinamen an, wenn du die Pakete manuell heruntergeladen hast, ohne das oben angegebene Skript zu verwenden.
3. Installation von Docker mit dem Installationsskript
Das praktische Skript von Docker automatisiert die Installation aller Docker-Komponenten. Es ist nicht interaktiv, du kannst dich also zurücklehnen und warten, während dein System für dich vorbereitet wird.
Lade zunächst das Skript herunter:
$ curl -fsSL https://get.docker.com -o get-docker.sh
Führe nun das Skript mit Root-Rechten aus:
$ sudo sh get-docker.sh
Executing docker install script
...
Warte, bis das Skript abgeschlossen ist. Du solltest eine Bestätigungsmeldung sehen, dass Docker installiert ist.
Das Skript ist als Einheitslösung gedacht. Du kannst es nicht anpassen, ohne den Quellcode des Skripts direkt zu ändern. Es ist auch nicht dafür gedacht, Docker-Updates durchzuführen, da es die Abhängigkeiten nicht auf den neuesten Stand bringen kann.
Sicherstellen, dass die Docker Engine unter Ubuntu funktioniert
Egal, welche Installationsmethode du verwendet hast, du solltest sicherstellen, dass alles funktioniert, indem du einen Container startest:
$ sudo docker run hello-world
Du wirst sehen, dass der Docker-Client die hello-world:image
aus dem Docker Hub Repository auf deinen Rechner zieht:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
Status: Downloaded newer image for hello-world:latest
Ein neuer Container wird dann automatisch gestartet. Das „hello-world“-Starter-Image ist so konfiguriert, dass es einen einfachen Befehl ausführt, der einige grundlegende Informationen über Docker ausgibt und sich dann sofort wieder beendet:
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.
Wenn du die oben gezeigte Ausgabe siehst, ist Docker einsatzbereit. Der Daemon hat das hello-world:latest-Image erfolgreich vom Docker Hub geholt und einen Container damit gestartet. Alles ab der Zeile „Hello from Docker“ wurde von dem Prozess innerhalb des Containers ausgegeben.
Docker-Engine-Berechtigungen unter Ubuntu festlegen
Eine neue Docker-Engine-Installation erfordert normalerweise Root-Rechte, um docker
CLI-Befehle auszuführen. Du musst jedem Befehl das Präfix sudo
voranstellen, was umständlich ist.
Du kannst diese Anforderung umgehen, indem du dich nach der Installation der Docker Engine mit den oben genannten Schritten zur Gruppe docker
hinzufügst. Durch diese optionale Änderung erhältst du die Berechtigung, docker
Befehle als normaler Benutzer auszuführen, ohne sudo
, was deine CLI-Erfahrung vereinfacht.
Vergewissere dich, dass die Benutzergruppe docker
existiert:
$ sudo groupadd docker
Dann füge dich selbst zu ihr hinzu:
$ sudo usermod -aG docker $USER
Wenn du zuvor einen docker
Befehl mit sudo
ausgeführt hast, musst du die Berechtigungen für dein ~/.docker
Verzeichnis ändern:
$ sudo chown $USER:$USER /home/$USER/.docker -R
$ sudo chmod g+rwx $HOME/.docker -R
Damit stellst du sicher, dass dein eigenes Benutzerkonto die Dateien in diesem Verzeichnis lesen und schreiben darf.
Melde dich von deinem System ab und wieder an, damit deine neue Gruppenzugehörigkeit wirksam wird. Versuche einen docker
Befehl ohne sudo
auszuführen:
$ docker run hello-world
Mit diesem Schritt nach der Installation ist der Einrichtungsprozess von Docker unter Ubuntu abgeschlossen. Der Daemon ist bereits so konfiguriert, dass er automatisch startet, sodass du keinen Dienst manuell einrichten musst. Wenn du eine fortgeschrittene Installation planst, kannst du im Docker-Benutzerhandbuch nachlesen, wie du benutzerdefinierte Netzwerk-, Logging- und Volume-Storage-Verwaltung konfigurierst.
Hinzufügen von Docker Compose zu deiner Ubuntu-Installation
Docker Compose ist ein beliebtes Docker-Begleittool, das die Arbeit mit Anwendungen, die mehrere Container verwenden, erleichtert. Während das docker
CLI mit jedem Befehl nur einen Container anspricht, kann docker compose
mit jeder Aktion mehrere Container starten und stoppen. Das vereinfacht die Verwaltung von Systemen, in denen du getrennte Frontend-, Backend- und Datenbankdienste hast.
Docker Compose ist jetzt als Teil des docker
CLI verfügbar. Das Compose V2 Plugin ist im offiziellen Installationsskript für Docker enthalten. Es ist auch unter apt
verfügbar, wenn du diese Methode benutzt hast:
$ sudo apt install docker-compose-plugin
Alternativ kannst du das neueste .deb
Archiv herunterladen und es manuell installieren:
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb
$ sudo apt install -i ./docker-compose-plugin.deb
Überprüfe, ob Compose funktioniert, indem du den Befehl docker compose version
ausprobierst:
$ docker compose version
Docker Compose version v2.6.0
Installation von Docker Desktop unter Ubuntu
Während die Docker Engine auf eine reine CLI-Oberfläche beschränkt ist, bietet Docker Desktop eine grafische Verwaltungsoberfläche, integrierte Kubernetes-Unterstützung und optionale Erweiterungen von Drittanbietern, die deine Container-Workflows vereinfachen können. Docker Desktop ist eine gute Wahl, wenn du eine einfache Bedienung an deinem eigenen Arbeitsplatz suchst.
Um Docker Desktop zu installieren, musst du zunächst einige Abhängigkeiten mit apt
installieren:
$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release
Als Nächstes führst du die folgenden Befehle aus, um das apt
Repository von Docker hinzuzufügen. Obwohl Docker Desktop nicht in diesem Repository enthalten ist, werden die darin enthaltenen Pakete als Abhängigkeiten im Debian-Archiv von Desktop referenziert.
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
Der Befehl curl
lädt den GPG-Schlüssel von Docker für Ubuntu herunter, wandelt ihn in die Standard-OpenGPG-Kodierung um und speichert ihn im Verzeichnis apt
keyring. Mit chmod
werden die Berechtigungen für die Keyring-Datei festgelegt, damit apt
sie zuverlässig erkennt.
Lade das Docker Desktop Debian-Archiv über den Link in der Dokumentation herunter. Damit erhältst du die neueste stabile Version von Docker Desktop für Linux. Verwende apt
, um das Paket zu installieren, indem du die Versionsnummer einträgst, die du heruntergeladen hast:
$ sudo apt install ./docker-desktop-4.11.0-amd64.deb
Docker Desktop wird nun in deinem App Launcher angezeigt. Benutze deinen Launcher, um Docker Desktop zu starten und die Benutzeroberfläche zu öffnen. Du kannst die Befehle docker
, docker compose
und kubectl
auch in deinem Terminal ausführen. Die Anwendung fügt außerdem ein Menü zu deinem Shell-Tray hinzu, das den aktuellen Status von Docker Desktop anzeigt und mit dem du einige schnelle Aktionen ausführen kannst.
Wenn du Docker Desktop zum ersten Mal startest, wirst du aufgefordert, eine Dienstvereinbarung zu akzeptieren. Klicke auf die Schaltfläche Akzeptieren, wenn du zustimmst, und warte, während Docker Desktop seine virtuelle Maschine startet.
Nach ein paar Augenblicken wird das Dashboard geladen. Es bietet Abkürzungen, um neue Container aus gängigen Images zu erstellen und vermeidet langwierige Terminalbefehle.
DevKinsta: Docker Desktop für WordPress
Spezialisierte Lösungen, die auf der Grundlage von Docker aufgebaut sind, machen den Umgang mit bestimmten Technologien noch einfacher. DevKinsta ist ein kostenloses lokales Entwicklungstool für die Erstellung von WordPress-Themes und -Plugins, das Docker nutzt, um deine WordPress-Seiten vollständig zu isolieren und zu sichern. Damit kannst du schnell und einfach ein neues WordPress-Projekt starten und anpassen, ohne selbst Server einrichten zu müssen. Sobald du fertig bist, kannst du deine Website direkt auf die Kinsta-Plattform übertragen und live schalten.
Du kannst DevKinsta auf MacOS, Windows und Ubuntu installieren.
Zusammenfassung
Mit Docker fangen die meisten Entwickler an, Container zu benutzen. Du kannst Docker ganz einfach auf deinem Ubuntu-System installieren, entweder als Docker Engine oder als den neuen Docker Desktop. Sobald du Docker installiert hast, bist du bestens gerüstet, um Container zu bauen und auszuführen. So kannst du die Entwicklung vereinfachen und Diskrepanzen zwischen verschiedenen Umgebungen verringern.
Wenn du WordPress-Themes und -Plugins entwickelst, kannst du mit DevKinsta ganz einfach eine lokale Entwicklungsumgebung erstellen und deine Website bereitstellen.
Schreibe einen Kommentar