Docker bietet eine einfache Möglichkeit, schnell Dienste isoliert in einem Container auf seinem Server auszuführen. Nach der Docker-Philosophie enthält dabei jeder Container genau einen Dienst inklusive aller Abhängigkeiten, die er für den Betrieb benötigt. In diesem Beitrag geht es um die initiale Installation auf einem Debian-basierten Server. Da Raspberry Pi OS auf Debian basiert, gilt sie auch dort.
Die offizielle Docker Dokumentation hat bereits eine sehr gute Installationsanleitung, die genau so genutzt werden kann. Dennoch werde ich hier die einzelnen Schritte nochmal beschreiben, da die offizielle Dokumentation nur auf englisch verfügbar ist.
Paketquellen hinzufügen
Unser Paketmanager apt
greift standardmäßig nur auf Software zurück, die offiziell von Debian zur Verfügung gestellt werden. Damit jetzt auch die offiziellen Pakete von Docker geladen werden können, müssen wir diese in apt
hinzufügen. Im Endeffekt werden zusätzliche URLs hinterlegt, bei denen apt
nach Software suchen kann.
Um die neuen Quellen hinzuzufügen, benötigen wir ein paar Zusatztools. Diese installieren wir mit:
|
|
Falls du den Beitrag Nützliche Tools auf dem Server bereits gelesen und alle dort aufgeführten Tools installiert hast, ist bereits alles installiert.
Anschließend laden wir den GPG-Schlüssel von Docker. Dieser wird benötigt, damit der verschlüsselte Zugriff auf die Docker Quellen möglich ist und damit auch die Echtheit bestätigt werden kann.
|
|
Danach können die Docker Repositories in apt
eingetragen werden.
|
|
Installation von Docker
Um die Informationen aus dem neu eingetragenen Repository abzurufen, führen wir ein Update der Paketquellen aus:
|
|
Hier können wir bereits sehen, dass nun auch Informationen von den neu eingetragenen Docker Repositories geladen werden:
Jetzt können wir Docker installieren:
|
|
Installation prüfen
Um zu prüfen, ob Docker ordnungsgemäß funktioniert, laden wir das “hello-world” Image von Docker Hub, erstellen daraus einen Container und führen diesen aus. Dies geht einfach mit dem Befehl:
|
|
In der Ausgabe sehen wir, dass das Image aus dem Internet geladen wird, der Container startet und eine “Hello World” Nachricht ausgegeben wird.
Damit ist bestätigt, dass Docker funktioniert.
Benutzerberechtigungen
Der Befehl docker
kann nur von root
ausgeführt werden, deswegen muss jedes Mal ein sudo
vorangestellt werden. Es gibt zwei Methoden, dies zu vermeiden.
Methode 1: Gruppe “docker”
Wenn man einem Benutzer zusätzlich die Gruppe “docker” zuweist, ist er zur vollumfänglichen Nutzung berechtigt. Dies geht mit folgendem Befehl:
|
|
Methode 2: Alias
Möchte man die sudo
-Hürde behalten, aber nicht jedes Mal sudo
eingeben müssen, kann man einen Alias anlegen. Dazu öffnet man die Datei .bashrc
im Verzeichnis seines Benutzers
|
|
und ergänzt diese am Ende mit folgender Zeile:
|
|
Speichern und schließen mit
Win: STRG+O, ENTER, STRG+X
Mac: CONTROL+O, ENTER, CONTROL+X
Die Datei .bashrc
wird immer ausgeführt, wenn man sich einloggt. Damit die Änderungen also übernommen werden, schließen wir die Verbindung mit exit
und verbinden uns einmal neu mit dem Server.
Ab sofort müssen wir nur noch den Befehl docker
eintippen, ausgeführt wird aber sudo docker
.
ctop - Optional, aber hilfreich
Wer top
, htop
oder iftop
schon kennt wird sich denken können, worum es bei ctop
geht. Es ist eine übersichtliche Anzeige von laufenden Containern und deren genutzten Ressourcen auf der Kommandozeile. Ich installiere das gerne auf meinen Servern, da man schnell einen Überblick bekommt und darüber auch in die Logs der einzelnen Container schauen kann.
Zur Installation müssen wir wieder Paketquellen hinzufügen und nach einem Update die Installation starten:
|
|
Anschließend kann das Tool mit ctop
aufgerufen werden, wenn der Benutzer Mitglied der Gruppe “docker” ist, ansonsten muss sudo ctop
genutzt werden.
Aktuell sehen wir dort nur den gestoppten “Hello world” Container mit einem zufälligen Namen:
Mit den Pfeiltasten kann man den gewünschten Container auswählen. Mit der Pfeiltaste nach links kommt man zum Log des Containers, mit der Pfeiltaste nach rechts zu einer Detailansicht der genutzten Ressourcen des Containers.
Abschluss
Docker ist damit fertig installiert und einsatzbereit. Ihr könnt jetzt Container erstellen, starten, stoppen, löschen und seid damit bereit, Docker-basierte Beiträge auszuprobieren.