Docker auf Ubuntu installieren

Docker auf Ubuntu installieren

Docker ist ein beliebtes Werkzeug, um Software in Paketen, die als Container bezeichnet werden, zu entwickeln und bereitzustellen. Ubuntu ist eine der populärsten Linux-Distributionen und ein Betriebssystem, das von Docker gut unterstützt wird.

Durch die Installation von Docker auf Ubuntu erhältst du eine ideale Plattform für deine Entwicklungsprojekte durch die Verwendung von leichtgewichtigen virtuellen Maschinen, die den Kernel des Betriebssystems Ubuntu verwenden. In diesem Tutorial lernst du 4 Möglichkeiten kennen, wie du dies mit Docker erreichen kannst.

Mehr über Docker

Docker ermöglicht die Erstellung und Ausführung von Anwendungen auf jedem Docker-Host und macht sie damit portabel. Ein Container-Image kann überall, wo Docker verfügbar ist - von deinem Laptop bis zur Cloud - verwendet werden, ohne dass Änderungen vorgenommen werden müssen. Da es keine Unterschiede zwischen den verschiedenen Laufzeitumgebungen gibt, vereinfacht dies die Arbeit der Entwickler. Das Containerformat lässt sich auch leicht über mehrere physische Maschinen verteilen, was die Skalierung von Anwendungen erleichtert, wenn sich die Anforderungen ändern.

Docker enthält alles, was du zum Erstellen und Ausführen von Container-Images benötigst. Dabei spielt es keine Rolle, ob die Images von Docker Hub und anderen öffentlichen Repositories oder aus deinen eigenen Docker-Dateien stammen.

Vorbereitungen für die Installation von Docker unter Ubuntu

Die neueste Version von Docker kann auf Ubuntu 18.04, 20.04, 21.10 und 22.04 installiert werden. Die Architekturen x64_64/AMD64, ARMhf, ARM64 und S390x werden unterstützt.

Es gibt verschiedene Möglichkeiten, Docker zu installieren, und deine Wahl hängt davon ab, welche Funktionen du benötigst und wie du deine Pakete verwalten möchtest. In dieser Anleitung erfährst du, welche Möglichkeiten es gibt.

Installation der Docker Engine unter Ubuntu

Die Docker-Engine ist der Standard für die Ausführung von Docker auf Ubuntu. Es funktioniert mit allen unterstützten Versionen und Umgebungen, vom lokalen Ubuntu-Desktop bis zum Ubuntu-Server. Stelle sicher, dass du Ubuntu Version 18.04 oder höher verwendest, bevor du fortfährst.

Docker Engine kann auf drei verschiedene Arten installiert werden:

  • Ein offizielles Ubuntu apt Repository
  • Ein eigenständiges Debian-Paket (.deb)
  • Ein automatisches Installationsskript


Option 1, das Ubuntu apt Repository, wird am häufigsten verwendet. 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 automatischen Updates, ist aber ideal für die Installation von Docker auf luftgekühlten Offline-Systemen. Das automatische Installationsskript ist der einfachste Weg, um loszulegen, aber es ist nur für die Verwendung in der Entwicklung konfiguriert. Docker rät von der Verwendung in Produktionsumgebungen ab.

Verwende das apt-Repository, wenn du mit einem Produktionssystem arbeitest, einfache Aktualisierungen benötigst oder den gleichen Mechanismus in allen Umgebungen verwenden möchtest.

Verwende das automatische Installationsskript, wenn du Docker schnell installieren und auf deinem eigenen Rechner ausprobieren möchtest.

Docker über Apt installieren

Docker veröffentlicht Pakete in seinem eigenen apt-Repository. Dieses Repository muss in dein apt-Quellverzeichnis aufgenommen werden, damit dein apt-System die Docker-Pakete findet.

Aktualisiere zunächst deine bestehende Paketliste und installiere einige Abhängigkeiten für die folgenden Schritte. Die Werkzeuge "ca-certificates", "curl, gnupg" und "lsb_release"werden verwendet, um die korrekten Docker apt Repository Details und den Signaturschlü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

Mit dem Befehl curl wird der GPG-Schlüssel von Docker für Ubuntu heruntergeladen, in die Standard-OpenGPG-Kodierung konvertiert und im Keyring-Verzeichnis von apt gespeichert. Damit apt die Keyring-Datei zuverlässig erkennen kann, werden die Zugriffsrechte mit chmod gesetzt.

Nun kannst du die Docker-Paketquelle zu deinem System hinzufügen. Führe dazu das folgende Kommando 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 erkennt mittels Shell-Ersetzung automatisch die Systemarchitektur, z.B. AMD64 oder ARM64, und lädt die entsprechende Paketliste herunter. Diese wird mit dem zuvor hinzugefügten GPG-Schlüssel verifiziert. Im Verzeichnis /etc/apt/sources.list.d von apt wird das Repository als neue Paketliste hinzugefügt.

Aktualisiere deine Paketlisten erneut, damit apt weiß, dass die Docker-Pakete existieren:

$ sudo apt update

Nun kannst du den Befehl apt install verwenden, um die Docker-Komponenten zu deinem System hinzuzufügen. Du installierst die neueste Version der Docker Community Edition (CE). Es gibt drei Pakete, die installiert werden müssen:

  • docker-ce: der Daemon der Docker-Engine.
  • docker-ce-cli: die Docker CLI, mit der 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

Zusammenfassung

Docker ist für die meisten Entwickler der Einstieg in die Arbeit mit Containern. Du kannst Docker ganz einfach auf deinem Ubuntu-System installieren. Sobald du Docker installiert hast, bist du bereit, Container zu erstellen und auszuführen. So kannst du die Entwicklung vereinfachen und Inkonsistenzen zwischen verschiedenen Umgebungen reduzieren.