Docker auf Ubuntu installieren (4 einfache Wege)
Veröffentlicht: 2022-12-05Docker ist ein beliebtes Tool zum Entwickeln und Bereitstellen 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 auf Ubuntu schafft eine ideale Plattform für Ihre Entwicklungsprojekte, indem leichtgewichtige virtuelle Maschinen verwendet werden, die den Betriebssystemkernel von Ubuntu gemeinsam nutzen. Dieses Tutorial wird Ihnen den Einstieg erleichtern, indem es 4 Möglichkeiten erklärt, dies zu erreichen.
Mehr über Docker
Docker hilft dabei, Anwendungen portabel zu machen, indem Sie sie auf jedem Docker-Host erstellen und ausführen können. Ein Container-Image kann ohne Änderungen überall dort verwendet werden, wo Docker verfügbar ist – von Ihrem Laptop bis zur Cloud. Dies vereinfacht die Entwicklererfahrung, indem Unterschiede zwischen Laufzeitumgebungen beseitigt werden. Das Containerformat lässt sich auch einfach auf mehrere physische Maschinen verteilen, sodass Sie Anwendungen problemlos an sich ändernde Anforderungen anpassen können.
Docker enthält alles, was Sie zum Erstellen und Ausführen von Container-Images benötigen, unabhängig davon, ob sie von Docker Hub und anderen öffentlichen Registrierungen oder Ihren eigenen Dockerfiles stammen.
Vorbereitungen für die Installation von Docker auf Ubuntu
Sie können 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 Ihre Wahl hängt von der benötigten Funktionalität und Ihrem bevorzugten Ansatz für die Paketverwaltung ab. In dieser Anleitung lernen Sie alle möglichen Optionen kennen.
Auswählen eines Docker-Flavors
Docker unter Linux war traditionell nur für Terminals verfügbar. Eine funktionierende Installation besteht aus Docker Engine, einem Daemon, der Ihre Container ausführt, und der docker
-Befehlszeilenschnittstelle (CLI) für die Interaktion mit dem Daemon.
Docker Desktop ist eine alternative Möglichkeit, Docker zu verwenden. Historisch nur für Windows und Mac verfügbar, wurde es im Mai 2022 für Linux eingeführt. Docker Desktop auf Ubuntu erfordert einen AMD64-Prozessor und entweder Ubuntu 21.10 oder 22.04. Es bietet eine grafische Oberfläche zum Verwalten Ihrer Container, einen integrierten Kubernetes-Cluster und Unterstützung für Erweiterungen von Drittanbietern. Docker Desktop bietet Ihnen auch die docker
und Docker Compose-CLIs.
Docker Desktop unterscheidet sich von Docker Engine dadurch, dass es eine virtuelle Maschine verwendet, um Ihre Container auszuführen (weshalb Docker Desktop für Windows- und MacOS-Benutzer erforderlich ist). Obwohl es möglich ist, beide Varianten unter Ubuntu nebeneinander zu verwenden, treten möglicherweise Konflikte zwischen docker
-CLI-Versionen auf. Es ist am besten, sich eine auszusuchen und dabei zu bleiben. Wählen Sie Docker Engine, wenn Sie sich in Ihrem Terminal wohlfühlen und die beste Unterstützung und Leistung wünschen. Die VM von Docker Desktop macht es etwas schwerer, ist aber die bessere Wahl, wenn Sie eine integrierte Benutzeroberfläche wünschen oder Kubernetes verwenden möchten.
Docker-Engine auf Ubuntu installieren
Docker Engine ist die Standardmethode zum Ausführen von Docker unter Ubuntu. Es funktioniert mit allen unterstützten Versionen und Umgebungen, von einem lokalen Ubuntu Desktop-Rechner bis zu Ihrem Ubuntu Server Cloud-Host. Stellen Sie sicher, dass Sie eine Ubuntu-Version verwenden, die 18.04 oder neuer ist, bevor Sie fortfahren.
Docker Engine hat 3 verschiedene Installationsmethoden:
- Ein offizielles Ubuntu
apt
Repository - Ein eigenständiges Debian-Paket (
.deb
) - Ein automatisiertes Installationsskript
Option 1, das Ubuntu apt
Repository, wird am häufigsten verwendet. Es fügt Docker zu Ihrer Paketliste hinzu, sodass Sie zukünftige Updates einfach installieren können, indem Sie apt upgrade
. Option 2 unterstützt keine automatischen Updates, ist aber ideal für die Installation von Docker auf Air-Gap-Offline-Systemen. Das automatisierte Installationsskript ist die einfachste Methode für den Einstieg, ist jedoch nur für Entwicklungszwecke konfiguriert. Docker rät davon ab, es in Produktionsumgebungen zu verwenden.
Verwenden Sie das apt
-Repository, wenn Sie mit einem Produktionssystem arbeiten, einfache Updates wünschen oder denselben Mechanismus in allen Umgebungen verwenden müssen.
Verwenden Sie das automatisierte Installationsskript, wenn Sie eine schnelle Einrichtung wünschen, während Sie mit Docker auf Ihrem eigenen Computer experimentieren.
1. Installieren von Docker mit dem apt-Repository
Docker veröffentlicht Pakete in seinem eigenen apt
-Repository. Sie müssen dieses Repository zu Ihrer apt
Quellenliste hinzufügen, andernfalls kann Ihre apt
-Installation die Docker-Pakete nicht finden.
Beginnen Sie damit, Ihre vorhandene 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 korrekten Docker- apt
-Repository-Details und den Signaturschlüssel für Ihr System herunterzuladen. Obwohl Sie diese Pakete wahrscheinlich bereits haben, schadet es nicht, sicherzustellen, dass sie verfügbar sind.
$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release
Registrieren Sie als Nächstes den GPG-Schlüsselbund von Docker bei apt. Dadurch kann apt
die von Ihnen 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, konvertiert ihn zurück in die Standard-OpenGPG-Codierung und speichert ihn im Schlüsselringverzeichnis von apt. chmod
wird verwendet, um die Berechtigungen für die Schlüsselbunddatei so festzulegen, dass apt
sie zuverlässig erkennt.
Jetzt können Sie die Docker-Paketquelle zu Ihrem System hinzufügen. Führen Sie 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
Dabei wird die Shell-Substitution verwendet, um automatisch die Architektur Ihres Systems zu erkennen, z. B. AMD64 oder ARM64, und die entsprechende Paketliste herunterzuladen. Es wird mit dem zuvor hinzugefügten GPG-Schlüssel verifiziert. Das Repository wird als neue Paketliste im Verzeichnis apt /etc/apt/sources.list.d directory.
Aktualisieren Sie Ihre Paketlisten erneut, damit apt
weiß, dass die Docker-Pakete vorhanden sind:
$ sudo apt update
Jetzt können Sie den Befehl apt install
verwenden, um Dockers Komponenten zu Ihrem System hinzuzufügen. Sie installieren die neueste Version von Docker Community Edition (CE). Es müssen drei Pakete installiert werden:
-
docker-ce
: der Docker-Engine-Daemon. -
docker-ce-cli
: die Docker-CLI, mit der Sie interagieren. -
containerd.io
: die als containerd bekannte Containerlaufzeit, die Ihre Container startet und ausführt.
$ sudo apt install docker-ce docker-ce-cli containerd.io
2. Installieren von Docker mit dem Debian-Paket
Das offizielle .deb
-Paket ist einfach einzurichten, aber Sie müssen jede neue Version manuell herunterladen und installieren. Pakete werden auf einem einfachen Dateiserver gehostet. Navigieren Sie zunächst zur Seite mit den Versionshinweisen von Docker, um die neueste verfügbare Versionsnummer zu finden, z. B. 20.10.20. Gehen Sie als Nächstes zur GitHub-Seite von containerd, um auch die Versionsnummer zu überprüfen. Es wird wie 1.6.8 aussehen.
Jetzt können Sie die folgende Befehlsfolge ausführen, um die richtigen Pakete für Ihre Plattform herunterzuladen. Ersetzen Sie <DOCKER_VERSION>
und <CONTAINERD_VERSION>
durch die aktuellen Docker- und Containerd-Versionsnummern.
$ 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
Sie können die Dateien auch herunterladen und alle verfügbaren Versionen überprüfen, indem Sie die Verzeichnisliste für Ihre Ubuntu-Version in Ihrem Browser aufrufen.
Nachdem Sie die Docker CE-, CLI- und containerd-Pakete heruntergeladen haben, verwenden Sie den folgenden Befehl, um sie zu installieren:
$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb
Passen Sie die Dateinamen an, wenn Sie die Pakete manuell heruntergeladen haben, ohne das oben bereitgestellte Skript zu verwenden.
3. Installieren von Docker mithilfe des Installationsskripts
Das Convenience-Skript von Docker automatisiert die Installation aller Docker-Komponenten. Es ist nicht interaktiv, sodass Sie sich zurücklehnen und warten können, während Ihr System für Sie vorbereitet wird.
Laden Sie zuerst das Skript herunter:
$ curl -fsSL https://get.docker.com -o get-docker.sh
Führen Sie nun das Skript mit Root-Rechten aus:
$ sudo sh get-docker.sh Executing docker install script ...
Warten Sie, bis das Skript abgeschlossen ist. Sie sollten eine Bestätigungsmeldung sehen, die anzeigt, dass Docker installiert ist.
Das Skript ist als Einheitslösung gedacht. Sie können nicht anpassen, was es tut, ohne die Quelle des Skripts direkt zu ändern. Es ist auch nicht dafür ausgelegt, Docker-Updates durchzuführen, da es keine Abhängigkeiten auf die neuesten Versionen bringt.
Stellen Sie sicher, dass die Docker-Engine unter Ubuntu funktioniert
Unabhängig davon, welche Installationsmethode Sie verwendet haben, sollten Sie sicherstellen, dass alles funktioniert, indem Sie einen Container starten:
$ sudo docker run hello-world
Sie sehen, wie der Docker-Client das hello-world:image
aus dem Docker-Hub-Repository auf Ihren Computer 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
Anschließend startet automatisch ein neuer Container. Das Starter-Image „hello-world“ ist so konfiguriert, dass es einen einfachen Befehl ausführt, der einige grundlegende Informationen über Docker ausgibt und dann sofort beendet wird:
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 Sie die oben gezeigte Ausgabe sehen, ist Docker einsatzbereit. Der Daemon hat das hello-world:latest-Image erfolgreich von Docker Hub abgerufen und einen Container gestartet, der es verwendet. Alles ab der Zeile „Hello from Docker“ wurde vom Prozess innerhalb des Containers ausgegeben.
Festlegen von Docker-Engine-Berechtigungen auf Ubuntu
Eine neue Docker-Engine-Installation erfordert normalerweise Root-Rechte, um docker
-CLI-Befehle auszuführen. Sie müssen jedem Befehl sudo
voranstellen, was unpraktisch ist.
Sie können diese Anforderung umgehen, indem Sie sich selbst zur docker
-Gruppe hinzufügen, nachdem Sie die Docker-Engine mithilfe der obigen Schritte installiert haben. Diese optionale Änderung gibt Ihnen die Berechtigung, docker
Befehle als normaler Benutzer ohne sudo
auszuführen, was Ihre CLI-Erfahrung vereinfacht.
Stellen Sie sicher, dass die docker
-Benutzergruppe vorhanden ist:
$ sudo groupadd docker
Dann fügen Sie sich hinzu:
$ sudo usermod -aG docker $USER
Wenn Sie zuvor einen docker
Befehl mit sudo
ausgeführt haben, müssen Sie die Berechtigungen für Ihr Verzeichnis ~/.docker
:
$ sudo chown $USER:$USER /home/$USER/.docker -R $ sudo chmod g+rwx $HOME/.docker -R
Dadurch wird sichergestellt, dass Ihr eigenes Benutzerkonto Dateien im Verzeichnis lesen und schreiben darf.
Melden Sie sich von Ihrem System ab und wieder an, damit Ihre neue Gruppenmitgliedschaft wirksam wird. Versuchen Sie, einen docker
-Befehl ohne sudo
:
$ docker run hello-world
Dieser Schritt nach der Installation schließt den Einrichtungsprozess von Docker unter Ubuntu ab. Der Daemon ist bereits so konfiguriert, dass er automatisch startet, sodass Sie keinen Dienst manuell einrichten müssen. Wenn Sie eine erweiterte Installation planen, finden Sie im Docker-Benutzerhandbuch Anweisungen zur Konfiguration benutzerdefinierter Netzwerke, Protokollierung und Volume-Speicherverwaltung.
Hinzufügen von Docker Compose zu Ihrer Ubuntu-Installation
Docker Compose ist ein beliebtes Docker-Begleittool, das die Arbeit mit Anwendungen erleichtert, die mehrere Container verwenden. Während die docker
CLI mit jedem Befehl nur einen Container anvisiert, kann docker compose
mit jeder Aktion mehrere Container starten und stoppen. Dies vereinfacht die Verwaltung von Systemen, bei denen Sie über separate Frontend-, Backend- und Datenbankdienste verfügen.
Docker Compose ist jetzt als Teil der docker
CLI verfügbar. Das Plug-in Compose V2 ist enthalten, wenn Sie Docker mit dem offiziellen Installationsskript installieren. Es ist auch in apt
verfügbar, wenn Sie diese Methode verwendet haben:
$ sudo apt install docker-compose-plugin
Alternativ können Sie das neueste .deb
Archiv herunterladen und 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üfen Sie, ob Compose funktioniert, indem Sie den docker compose version
ausprobieren:
$ docker compose version Docker Compose version v2.6.0
Installieren von Docker Desktop auf Ubuntu
Während Docker Engine auf eine reine CLI-Erfahrung beschränkt ist, bietet Docker Desktop eine grafische Verwaltungsoberfläche, integrierte Kubernetes-Unterstützung und optionale Erweiterungen von Drittanbietern, mit denen Sie Ihre Container-Workflows vereinfachen können. Es ist eine großartige Wahl, wenn Sie eine einfache Bedienung an Ihrem eigenen Arbeitsplatz suchen.
Um Docker Desktop zu installieren, installieren Sie zuerst einige Abhängigkeiten mit apt
:
$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release
Führen Sie als Nächstes die folgenden Befehle aus, um das apt
-Repository von Docker hinzuzufügen. Obwohl Docker Desktop nicht im Repository enthalten ist, werden darin enthaltene Pakete vom Debian-Archiv von Desktop als Abhängigkeiten 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, konvertiert ihn zurück in die Standard-OpenGPG-Codierung und speichert ihn im apt
-Schlüsselbundverzeichnis. chmod
wird verwendet, um die Berechtigungen für die Schlüsselbunddatei so festzulegen, dass apt
sie zuverlässig erkennt.
Laden Sie das Docker Desktop Debian-Archiv über den Link in der Dokumentation herunter. Dadurch wird die neueste stabile Version von Docker Desktop für Linux bereitgestellt. Verwenden Sie apt
, um das Paket zu installieren, und ersetzen Sie es durch die heruntergeladene Versionsnummer:
$ sudo apt install ./docker-desktop-4.11.0-amd64.deb
Docker Desktop wird jetzt in Ihrem App Launcher angezeigt. Verwenden Sie Ihren Launcher, um Docker Desktop zu starten und die Benutzeroberfläche zu öffnen. Sie können die Befehle docker
, docker docker compose
und kubectl
in Ihrem Terminal ausführen. Die Anwendung fügt Ihrem Shell-Tray auch ein Menü hinzu, das den aktuellen Docker-Desktop-Status anzeigt und Sie einige schnelle Aktionen ausführen lässt.
Wenn Sie Docker Desktop zum ersten Mal ausführen, werden Sie aufgefordert, einen Servicevertrag zu akzeptieren. Drücken Sie die Schaltfläche Akzeptieren, wenn Sie zustimmen, und warten Sie, während Docker Desktop seine virtuelle Maschine startet.
Nach einigen Augenblicken wird das Dashboard geladen. Es bietet Verknüpfungen zum Erstellen neuer Container aus beliebten Images und vermeidet langwierige Terminalbefehle.
DevKinsta: Docker-Desktop für WordPress
Spezialisierte Lösungen, die auf der Grundlage von Docker aufgebaut sind, bieten eine noch einfachere Erfahrung für bestimmte Technologien. DevKinsta ist ein kostenloses lokales Entwicklungstool zum Erstellen von WordPress-Themes und Plugins, das Docker verwendet, um Ihre WordPress-Sites vollständig zu isolieren und zu sichern. Es macht es schnell und einfach, ein neues WordPress-Projekt zu starten und anzupassen, ohne selbst Server einzurichten. Sobald du bereit bist, kannst du direkt auf die Kinsta-Plattform pushen, um deine Live-Site bereitzustellen.
Du kannst DevKinsta auf MacOS, Windows und Ubuntu installieren.
Zusammenfassung
Docker ist der Ausgangspunkt für die meisten Entwickler mit der Verwendung von Containern. Sie können Docker ganz einfach auf Ihrem Ubuntu-System installieren, entweder als Docker Engine oder als neuer Docker Desktop. Sobald Sie Docker installiert haben, sind Sie vollständig gerüstet, um Container zu erstellen und auszuführen, wodurch Sie die Entwicklung vereinfachen und Diskrepanzen zwischen Umgebungen reduzieren können.
Wenn du WordPress-Themes und Plugins entwickelst, kann DevKinsta die Erstellung einer lokalen Entwicklungsumgebung und die Bereitstellung deiner Website vereinfachen.