Installation von Docker und Portainer unter Linux
Nicht alles sollte direkt auf Ihrem Betriebssystem laufen. Werkzeuge wie der SQL Server haben hohe Ressourcenanforderungen, und wenn sie direkt auf der Hardware ausgeführt werden, verbrauchen sie diese Ressourcen, egal ob Sie sie benötigen oder nicht. Container lösen dieses Problem: Sie starten einen, wenn Sie ihn brauchen, und stoppen ihn, wenn nicht. Docker ist die Engine, die diesen Workflow antreibt, und Portainer ist die leichte GUI, die es verwaltbar hält, ohne eine Bibliothek von CLI-Befehlen auswendig zu lernen.
Diese Aufschlüsselung basiert auf Tim Coreys Linux-Entwicklungs Serie und beschreibt die vollständige Einrichtung auf Ubuntu: Registrieren des apt-Repositories, Einrichten der Engine, Entfernen der sudo-Anforderung für persönliche Maschinen und Bereitstellen von Portainer CE als persistentem Container.
Schritt 1: Hinzufügen des Docker apt-Repositories
[3:10 - 6:00] Bevor Docker selbst über apt installiert werden kann, müssen Sie die Paketquelle von Docker registrieren und Ihrem System einen Grund geben, ihr zu vertrauen. Docker liefert einen einzigen kopierbaren Block von Befehlen, der alles in einem Einfügen erledigt. Gehen Sie zu docs.docker.com, navigieren Sie zum Abschnitt Installieren und wählen Sie dann Ubuntu aus. Die Befehle unter "Installieren über das apt-Repository" sind, was Sie wollen.
Dieser Block führt mehrere Operationen in Reihe aus: Es installiert die erforderlichen Zertifikatstools, lädt den offiziellen GPG-Schlüssel von Docker herunter, passt dessen Berechtigungen an und schreibt die Repository-Adresse in Ihre apt-Quellenliste. Führen Sie den gesamten Block auf einmal aus, indem Sie ihn aus den Dokumenten kopieren und in ein Terminal mit Ctrl+Shift+V einfügen.
Ein wichtiger Punkt, den es zu betonen gilt: Fügen Sie nicht blind neue Paketquellen hinzu. Überprüfen Sie, ob Sie der Quelle vertrauen, bevor Sie ihr Zertifikat installieren. Docker ist seriös und es lohnt sich, ihm zu vertrauen, aber das Prinzip gilt für jede Quelle, die Sie hinzufügen. Dieser Ansatz ist tatsächlich strenger als das, was viele Paketmanager standardmäßig machen, was eine Funktion ist, keine Komplikation.
Schritt 2: Installation des Docker Engines
[6:00 - 7:10] Mit dem registrierten Repository ist das Installieren von Docker ein einzelner apt Befehl:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Bestätigen Sie, wenn Sie aufgefordert werden, und apt kümmert sich um den Download und die Installation. Docker ist so konfiguriert, dass es beim Booten automatisch startet, sodass es nach jedem Neustart ohne zusätzliche Schritte im Hintergrund läuft.
Um zu bestätigen, dass alles funktioniert, führen Sie den Hello-World-Container aus:
sudo docker run hello-world
sudo docker run hello-world
Docker zieht das Image, führt es aus und gibt eine Bestätigungsnachricht aus. Diese Ausgabe bedeutet, dass Ihre Installation funktioniert. Der Hello-World-Container ist so konzipiert, dass er einmal ausgeführt wird und beendet; er existiert rein zur Bestätigung der Antwortfähigkeit der Engine.
Schritt 3: Docker ohne sudo ausführen (Nur persönliche Maschinen)
[7:45 - 10:30] Standardmäßig erfordern Docker-Befehle sudo, da das Verwalten von Containern eine privilegierte Operation ist. Auf einem gemeinsamen Server oder einer Produktionsmaschine lassen Sie dies unverändert. Für eine persönliche Entwicklungsmaschine, die Sie alleine steuern, entfernt das Hinzufügen zu der docker Gruppe das Präfix:
sudo usermod -aG docker $USER
sudo usermod -aG docker $USER
-aG fügt das aktuelle Konto hinzu. Groß-/Kleinschreibung ist wichtig: $USER muss großgeschrieben werden. Die Änderung wird erst wirksam, wenn Sie sich ab- und wieder anmelden; ein vollständiger Systemneustart ist oft zuverlässiger als ein einfaches Abmelden, damit die Gruppenmitgliedschaft korrekt angewendet wird. Sobald dies geschieht, funktioniert docker run hello-world ohne sudo.
Dies ist ein Bequemlichkeitskompromiss, keine Sicherheitsverbesserung. Behalten Sie es nur für Entwicklungsmaschinen bei.
Schritt 4: Erstellen eines Volumes für Portainer
[11:30 - 12:45] Bevor Portainer gestartet wird, erstellen Sie ein benanntes Volume, um seine Daten über Neustarts und Ersetzungen von Containern hinweg zu erhalten:
docker volume create portainer_data
docker volume create portainer_data
Container sind von Natur aus flüchtig, und das Zerstören eines löscht alles, was darin gespeichert ist. Ein Volume lebt außerhalb des Container-Lebenszyklus auf einem von Docker verwalteten Pfad, sodass Portainers Konfiguration überlebt, selbst wenn Sie es zerstören und neu bauen.
Schritt 5: Ausführen des Portainer Containers
[12:45 - 14:10] Portainer CE ist selbst ein Docker Container. Der vollständige Run-Befehl lautet:
docker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce
docker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce
Die Aufschlüsselung: -d führt den Container abgetrennt aus, sodass er im Hintergrund bleibt. -p 9000:9000 legt den Host-Port 9000 frei und leitet ihn an die entsprechende interne Adresse im Container weiter. Der erste -v mountet den Docker-Socket, wodurch Portainer Sichtbarkeit und Kontrolle über Ihre anderen Container und Images erhält. Das Verbinden des Sockets auf diese Weise erlaubt der GUI, Ihre gesamte Docker-Umgebung zu lesen und zu verwalten. Der zweite -v verknüpft das soeben erstellte Volume mit /data im Container, wodurch sein Zustand erhalten bleibt.
Laden Sie von portainer/portainer-ce (Community Edition) herunter. Die portainer.io-Website führt mit der kostenpflichtigen Enterprise-Version, aber CE ist kostenlos und voll fähig für den lokalen und persönlichen Gebrauch.
Navigieren in der Portainer UI
[14:10 - 17:30] Sobald der Container startet, öffnen Sie einen Browser und gehen zu http://localhost:9000. Portainer fordert Sie auf, bei der ersten Anmeldung ein Administrator-Passwort zu erstellen; es muss mindestens 12 Zeichen lang sein. Nachdem Sie sich eingeloggt haben, klicken Sie durch den Schnellsetup-Assistenten, ohne zusätzliche Umgebungen hinzuzufügen, und wählen Sie dann die lokale Umgebung vom Dashboard aus.
Die Startansicht zeigt eine Zusammenfassung: heruntergeladene Bilder, vorhandene Container, konfigurierte Netzwerke und verwendete Volumes. Ein Klick in jeden Abschnitt gibt Ihnen die volle Kontrolle. Unter Images sehen Sie hello-world und das Portainer CE-Image von den beiden während der Einrichtung durchgeführten Pulls. In Containern erscheinen beide hello-world-Läufe im gestoppten Zustand zusammen mit Portainer selbst, das aktiv läuft.
Aus dem Container-Panel heraus können Sie jeden Eintrag starten, stoppen oder entfernen. Das Auswählen eines Containers und Klicken auf Protokolle zeigt seine Ausgabe. Die Hello-World-Einträge zeigen den vertrauten Begrüßungstext von beiden Zeiten an, in denen es ausgeführt wurde. Das Neustarten eines Containers und das Überprüfen seiner Protokolle bestätigt, dass neue Ausgaben unterhalb der ersten angefügt werden.
Volumes werden mit ihren Einhängepfaden aufgelistet. Der portainer_data Eintrag zeigt seinen Speicherort unter /var/lib/docker/volumes/, wo die Engine alle benannten Volumendaten auf der Festplatte speichert.
Warum Portainer über Docker Desktop
[17:30 - 18:10] Docker Desktop wird mit einer GUI geliefert, bringt jedoch erhebliche Überkopfkosten mit sich, was auf einer Linux-Entwicklungsmaschine von Bedeutung ist, auf der Sie möchten, dass Ihre Systemressourcen für Ihre tatsächlichen Arbeitslasten verfügbar bleiben. Portainer CE läuft selbst als Container und verbraucht weit weniger Speicher und CPU. Es deckt die praktischen Bedürfnisse ab: Durchsuchen von Bildern und Containern, Lesen von Protokollen, Verwalten von Volumes, Starten und Stoppen von Diensten, alles ohne das Gewicht.
Was kommt als nächstes
[17:50 - 18:30] Mit Docker und Portainer an Ort und Stelle ist der nächste Schritt in der Serie, SQL Server als Container auszuführen. Ein einziges docker run Befehl zieht das Image und startet eine Instanz. Aus dem Portainer-Container-Panel können Sie es stoppen, wenn Ihre Sitzung endet, und es neu starten, wenn Sie es wieder brauchen. Dieses Muster gilt gleichermaßen für Redis und andere Infrastruktur-Tools, die teuer im Dauerbetrieb sind, aber einfach zu containerisieren.
Abschluss
[18:30 - Ende] Zusammenfassung: Registrieren Sie das apt-Repository von Docker mit seinem GPG-Schlüssel, installieren Sie die Engine über apt, fügen Sie optional Ihren Benutzer der docker Gruppe auf persönlichen Maschinen hinzu, erstellen Sie ein benanntes Volume für Portainer und führen Sie den portainer/portainer-ce Container, der auf Port 9000 abgebildet ist, aus. Ab diesem Punkt bietet localhost:9000 Ihnen eine GUI, die die alltägliche Verwaltung von Containern auf Linux abdeckt, ohne die CLI für routinemäßige Aufgaben zu berühren.
Sehen Sie sich das vollständige Video auf Tim Coreys YouTube Kanal an, um die Installation auf einem Live-System zu verfolgen.
