Projektpraxis zum Bereitstellen von Docker-Containern mit Portainer

Projektpraxis zum Bereitstellen von Docker-Containern mit Portainer

1. Hintergrund

Als ich kürzlich Rancher 2.5.5 zur Bereitstellung der Redis-Master-Slave-Replikation verwendete, stellte ich fest, dass Rancher viele iptables-Regeln generierte. Diese Regeln hinderten uns daran, die Master-Slave-Replikationsfunktion von Redis auf der Maschine zu verwenden, auf der Rancher bereitgestellt wurde. Da mein Verständnis von Rancher und k8s auf das Verständnis der Netzwerkarchitektur und -nutzung beschränkt ist und ich kein tiefes Verständnis der zugrunde liegenden Schicht habe, kann ich dieses Netzwerkkonfliktproblem nicht kurzfristig lösen.

Aus diesem Grund habe ich den Modus zur Verwaltung von Docker von Rancher auf Portainer umgestellt. Dieser Portainer ist relativ leicht und ich habe während des Konstruktionsprozesses mehrere Stunden gebraucht, um ihn zu erlernen. Jetzt werde ich versuchen, den gesamten Prozess zu Ihrer Information wiederherzustellen.

2. Bedienungsschritte

  • Portiner installieren
  • Verwaltungsknoten
  • Bereitstellen des Containers

3. Installieren Sie Portiner

Es gibt viele Möglichkeiten, Portiner zu installieren, aber ich bevorzuge immer die einfachste Möglichkeit, um das zu erreichen, was ich brauche. Deshalb werde ich hier Docker zum Erstellen verwenden.

3.1 Docker-Bereitstellung

Die Docker-Bereitstellungsmethode ist sehr einfach. Sie müssen nur einen einfachen Befehl „Run Container“ ausführen. Der Befehl lautet wie folgt.

docker run -d \
-p 9000:9000 \
-p 8000:8000 \
--restart immer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/docker/portainer-ce/data:/data \
--name portainer-ce portainer/portainer-ce

Der Befehl ordnet die Ports 8000 und 9000 der physischen Maschine den Ports 8000 und 9000 des Containers zu. Außerdem ordnet er die Docker-Kommunikationsdatei /var/run/docker.sock der Hostmaschine dem Container zu. Darüber hinaus wird für eine dauerhafte Bereitstellung das Verzeichnis /opt/docker/portainer-ce/data dem Verzeichnis /data des Containers zugeordnet. Nachdem der Befehl ausgeführt wurde, werden die Ergebnisinformationen wie in der folgenden Abbildung dargestellt zurückgegeben.

In der obigen Abbildung sehen Sie, dass ein Docker-Container erfolgreich ausgeführt wurde. Als Nächstes muss ich überprüfen, ob der Dienst ordnungsgemäß ausgeführt wird. Verwenden Sie den Browser, um auf die URL-Adresse http://127.0.0.1:9000/ zuzugreifen. Das Ergebnis ist wie folgt

Im obigen Bild sehen Sie, dass auf das Portainer-System zugegriffen werden kann, was darauf hinweist, dass das System erfolgreich installiert wurde.

3.2 Knoteninitialisierung

Jetzt muss ich das Passwort für das Administratorkonto festlegen. Hier gebe ich einfach das Passwort ein, bestätige es und klicke auf die Schaltfläche Create user , um ein Administratorkonto zu erstellen.

Nachdem das Administratorkonto eingerichtet wurde, muss es initialisiert werden, wie in der folgenden Abbildung gezeigt

Im obigen Bild gibt es drei Optionen. Ich wähle Portainer zur Verwaltung des lokalen Docker-Programms. Klicken Sie auf die Schaltfläche „ Connect , um den Initialisierungsvorgang abzuschließen.

3.3 Erste Erkundung der Funktionen

Nach Abschluss des Initialisierungsvorgangs können Sie die Portainer-Arbeitsoberfläche aufrufen, wie unten gezeigt

Im obigen Bild sehen Sie, dass im Portainer-System bereits ein local Knoten vorhanden ist. Wir können darauf klicken, um die Knotenverwaltung aufzurufen, wie in der folgenden Abbildung gezeigt

In der obigen Abbildung können Sie sehen, dass das Portainer-System den Stapel des local Knotens, Containerinformationen, Bildinformationen, Festplatteninformationen, Netzwerkinformationen usw. auflistet. Hier klicke ich nach Belieben auf den Containers , um die Containerliste anzuzeigen, wie in der folgenden Abbildung dargestellt

In der obigen Abbildung sehen Sie, dass sich in der Containerliste zwei Container befinden, sowie den Ausführungsstatus der Container, und Sie können diese Container auch steuern.

4. Verwaltungsknoten

Jetzt kann ich den lokalen Docker steuern, aber damit bin ich nicht zufrieden. Ich muss auch andere Maschinen steuern.

4.1 Beginnen Sie mit dem Hinzufügen von Knoten

Im Portainer-System gibt es ein endpoints , in dem Sie mehrere Knoten hinzufügen können, wie in der folgenden Abbildung dargestellt

Wie Sie in der Abbildung oben sehen können, gibt es bereits einen local Knoten. Über der Liste befindet sich die Schaltfläche Add endpoint . Klicken Sie auf die Schaltfläche, um zur Detailseite des hinzugefügten Knotens zu gelangen, wie in der Abbildung unten gezeigt.

Im Bild oben sehen Sie, dass es 5 Möglichkeiten gibt. Hier wähle ich die einfachste, nämlich die Verwendung Docker API zur Steuerung.

4.2 Offene API-Steuerung

Diese Methode erfordert das Hinzufügen von Parametern zum Docker-Startprogramm des Knotens, daher muss ich mich zuerst beim Knotenserver anmelden. Der Befehl zum Anmelden beim Server über SSH lautet wie folgt

Nach der Ausführung des Befehls wird folgende Abbildung zurückgegeben

In der Abbildung oben sehen Sie, dass Sie den Server eingegeben haben, auf dem sich der Knoten befindet. Anschließend müssen Sie die Konfigurationsdatei für den Docker-Start bearbeiten. Der Befehl lautet wie folgt

vim /usr/lib/systemd/system/docker.service

Nachdem der Befehl ausgeführt wurde, können Sie die Konfiguration in der Vim-Bearbeitungsoberfläche ändern, wie in der folgenden Abbildung dargestellt

Fügen Sie den Remote-Zugriffscode zur Docker-Startbefehlszeile hinzu. Der Code lautet wie folgt

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Kopieren Sie den Code in das Programm /usr/bin/dockerd , wie in der folgenden Abbildung gezeigt

Nach dem Speichern der Konfigurationsdatei müssen Sie den Docker-Dienst neu starten. Der Befehl zum Neustarten von Docker lautet wie folgt

systemctl daemon-reload und systemctl docker neu starten

Wenn alles gut geht, ist Docker nach dem Neustart fertig.

4.3 Portstatus überprüfen

Sehen Sie sich die Docker-Konfigurationsinformationen an. Der Befehl lautet wie folgt

Docker-Informationen

Nachdem der Befehl ausgeführt wurde, werden die in der folgenden Abbildung dargestellten Informationen zurückgegeben.

Im obigen Bild können Sie sehen, dass Docker eine Warnmeldung ausgegeben hat, die mich darauf hinweist, dass bei der Aktivierung des Fernzugriffs Sicherheitsrisiken bestehen. Ich werde sie vorerst ignorieren, aber das Erscheinen dieser Meldung zeigt an, dass die Fernzugriffsfunktion tatsächlich aktiviert ist.

Darüber hinaus können Sie überprüfen, ob das Öffnen erfolgreich war, indem Sie den Port öffnen. Der Befehl lautet wie folgt

netstat -ntl

Nachdem der Befehl ausgeführt wurde, wird der Portöffnungsstatus des aktuellen Hosts zurückgegeben, wie in der folgenden Abbildung dargestellt

In der obigen Abbildung können Sie sehen, dass Port 2375 erfolgreich geöffnet wurde, was darauf hinweist, dass der Knoten selbst Docker geöffnet hat.

Wenn Portainer jedoch über IP auf diesen Knoten zugreift, muss berücksichtigt werden, ob die Firewall im Netzwerk diesen Port blockiert. Hier kann das nmap Tool verwendet werden, um festzustellen, ob der Port des Knotens zugänglich ist. Jetzt kehre ich zum Befehlsterminal des Portainer-Systems zurück und verwende das Nmap-Tool zur Erkennung. Der Befehl lautet wie folgt

nmap -p 2375 xxx.xxx.xxx.xxx

Nachdem der Befehl ausgeführt wurde, wird zurückgegeben, ob 2375 eingeschaltet ist. Das Ausführungsergebnis wird in der folgenden Abbildung angezeigt.

In der obigen Abbildung können Sie sehen, dass der Port 2375 des Knotens geöffnet ist und eine Verbindung hergestellt werden kann.

4.4 Knoten hinzufügen abschließen

Kehren Sie anschließend zum Browserfenster zurück, wie unten gezeigt

Geben Sie auf der in der Abbildung oben gezeigten Webseite die IP-Adresse und den Port des Knotens im URL-Format ein und klicken Sie dann auf die Schaltfläche Add endpodint um den Knoten hinzuzufügen. Wenn der Knoten erfolgreich hinzugefügt wurde, wird eine entsprechende Eingabeaufforderung angezeigt, wie in der Abbildung unten gezeigt

Im obigen Bild können Sie sehen, dass das Portainer-System eine Meldung anzeigt, dass der Knoten erfolgreich hinzugefügt wurde, und dass dieser Knoten in der Knotenliste angezeigt wird.

5. Bereitstellung von Containern

Nachdem ich den Knoten hinzugefügt habe, bin ich bereit, meinen Container im Remote-Knoten bereitzustellen.

5.1 Einen einzelnen Container bereitstellen

Gehen Sie zurück zur Portainer-Startseite, wo Sie die soeben hinzugefügten Knoteninformationen sehen können, wie in der folgenden Abbildung dargestellt

Wählen Sie den Knoten aus, den Sie gerade in der obigen Abbildung hinzugefügt haben, und rufen Sie dann die Containermenüoption auf. Sie können die Containerliste dieses Knotens anzeigen, wie in der folgenden Abbildung dargestellt.

Auf der in der Abbildung oben gezeigten Seite befindet sich oberhalb der Liste die Schaltfläche Add container . Wenn Sie auf diese Schaltfläche klicken, werden Sie zur Seite „Containerdetails hinzufügen“ weitergeleitet.

Auf der in der Abbildung oben gezeigten Seite müssen Sie die Docker-Image-Adresse eingeben. Hier habe ich zufällig ein Nginx-Image ausgewählt und den Port 8888 des Hosts dem Port 80 des Containers zugeordnet. Nach dem Senden dieser Informationen teilt Ihnen das Portainer-System mit, ob der Container erfolgreich ausgeführt wird, wie in der Abbildung unten gezeigt

In der obigen Abbildung können Sie sehen, dass der Container erfolgreich ausgeführt wurde und zur Containerliste gesprungen ist. Als Nächstes können wir auf den diesem Knoten entsprechenden Port 8888 zugreifen, um zu überprüfen, ob der Dienst verfügbar ist.

Öffnen Sie den Browser und geben Sie die URL http://xxx.xxx.xxx.xxx:8888/ in die Adressleiste ein. Das nach dem Zugriff zurückgegebene Ergebnis ist wie in der folgenden Abbildung dargestellt.

In der obigen Abbildung können Sie sehen, dass nginx -Dienst erfolgreich ausgeführt wurde.

5.2 Docker-Compose bereitstellen

Neben der Bereitstellung von Containern auf der Containerlistenseite unterstützt das Portainer-System auch die Bereitstellung mit Docker-Compose, das im Portainer-System als stacks bezeichnet wird. Wählen Sie dieses Element in der Menüleiste aus, um die Liste der Docker-Compose-Dienste aufzurufen, wie in der folgenden Abbildung dargestellt

Über der Liste befindet sich die Schaltfläche Add stack . Klicken Sie auf diese Schaltfläche, um docker-compose -Dienst hinzuzufügen, wie in der folgenden Abbildung gezeigt

Auf der in der Abbildung oben gezeigten Seite werde ich aufgefordert, die Docker-Compose-Informationen einzugeben. Hier habe ich eine docker-compose Konfiguration für den Redis-Dienst vorbereitet. Der Konfigurationscode lautet wie folgt

Version: '3.5'
Leistungen:
  Redis:
    Bild: „redis:latest“
    Containername: redis_test
    Befehl: redis-server
    Häfen:
      - „16379:16379“

Nachdem Sie die Konfiguration auf der Seite ausgefüllt haben, senden Sie sie ab. Portainer stellt den docker-compose -Dienst jetzt auf dem entsprechenden Knoten bereit, wie in der folgenden Abbildung gezeigt.

Nach erfolgreicher Bereitstellung können Sie den gerade bereitgestellten Dienst in der Stapelliste sehen. Sie können auch auf den Dienstnamen in der Liste klicken, um die Detailseite aufzurufen und ihn anzuzeigen und zu ändern, wie in der folgenden Abbildung dargestellt

In der obigen Abbildung können Sie sehen, welchen Container dieser Dienst ausführt, und Sie können den Container auch beenden oder löschen.

Dieser Artikel stellt lediglich eine vorläufige Erkundung von Portainer dar. Weitere Details erfordern Ihre unermüdliche Erkundung.

Dies ist das Ende dieses Artikels über die Projektpraxis zur Verwendung von Portainer zum Bereitstellen von Docker-Containern. Weitere relevante Inhalte zum Bereitstellen von Docker-Containern mit Portainer finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Dies ist das Ende dieses Artikels über die Projektpraxis zur Verwendung von Portainer zum Bereitstellen von Docker-Containern. Weitere relevante Inhalte zum Bereitstellen von Docker-Containern mit Portainer finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Bereitstellung und chinesische Übersetzung des Docker-Visualisierungstools Portainer
  • Detaillierte Schritte zum Bereitstellen von Portainer mit Docker

<<:  Lernen Sie, mit Eclipse eine Verbindung zur MySQL-Datenbank herzustellen

>>:  Zehn Erfahrungen bei der Präsentation chinesischer Webinhalte

Artikel empfehlen

Docker-Compose-Tutorial: Installation und Schnellstart

Inhaltsverzeichnis 1. Einführung in Compose 2. Co...

Analyse und Lösung des abnormalen Problems beim Laden von JAR in Tomcat

Beschreibung des Phänomens: Das Projekt verwendet...

Detaillierte Erklärung zur Verwendung von MySQL Online DDL

Inhaltsverzeichnis Text LOCK-Parameter ALGORITHMU...

960 Grid System – Grundprinzipien und Verwendung

Natürlich gibt es auch viele Leute, die die gegent...

React+Typescript implementiert die Countdown-Hook-Methode

Zunächst wird setInterval als Hook gekapselt 👇 im...

Detaillierte Erläuterung der MySQL 8.0-Richtlinie zum Ablauf von Passwörtern

Ab MySQL 8.0.16 können Sie eine Richtlinie zum Ab...

Best Practices zur Implementierung einfacher Jira-Projekte mit React+TS

Eine Reihe von Projekten für die Ausbildung reagi...

Vue implementiert eine einfache Notizblockfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Lösung für das Root-Passwort-Anmeldeproblem in MySQL 5.7

Nachdem ich herausgefunden hatte, dass der vorher...

Warum gibt es das in JS?

Inhaltsverzeichnis 1. Nachfrage 2. Lösung 3. Die ...