Portainer installieren

Was ist Portainer.io

Changelog 15.01.2022:
- Nginx vHost: Fehler behoben, es ist jetzt wieder möglich, die Container in der Konsole (Portainer SSH) zu öffnen.
Changelog 20.06.2022:
-
Thema aufgeteilt.

Portainer ist ein Open-Source-Tool für die Verwaltung von containerisierten Anwendungen. Es arbeitet mit Kubernetes, Docker, Docker Swarm, Azure ACI sowohl in Rechenzentren als auch am Endgerät.

Portainer beseitigt die Komplexität, die mit Orchestratoren verbunden ist, sodass jeder Container verwalten kann. Es kann verwendet werden, um Anwendungen bereitzustellen und zu verwalten, das Verhalten von Containern zu beobachten und die Sicherheit und die Verwaltung bereitzustellen, die für einen breiten Einsatz von Containern erforderlich sind.

Installation Portainer

Zuerst erstellen Sie ein Volumen für die Portainer-Daten. Ein Volumen ist nichts anderes als ein Datenpersistenz-Mechanismus zum Speichern von Daten, die von einem Docker-Container verwendet und erzeugt werden. Auf diese Weise sind die Konfigurationsdaten der Anwendung auch dann sicher, wenn Sie den Container löschen, aktualisieren oder zerstören.

Bash
docker volume create portainer_data

Überprüfen Sie, ob das Volumen erstellt wurde.

Bash
docker volume ls

docker volume inspect portainer_data


Mit folgendem Befehl laden Sie das aktuelle Build von Portainer herunter und starten es.

Bash
docker run -d --name=Portainer --hostname=Portainer --network=host --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -e TZ='Europe/Berlin' portainer/portainer-ce

Anschließend ist Portainer installiert und Sie können die Verwaltungsoberfläche wie folgt aufrufen.


http://SERVERIP:9000/


Hier sollte auch schon die Aufforderung erscheinen, ein Administrationskonto zu erstellen.



Im nächsten Schritt wählen Sie Local aus und Sie haben die Einrichtung abgeschlossen.



Glückwunsch, Sie haben Portainer erfolgreich via Docker Container installiert.

Optional

Aufruf der Weboberfläche via Subdomain in CloudPanel

vHost-Template

CloudPanel v2 bietet sogenannte vHost-Templates für verschiedene PHP-Applikation an. Um das Template hinzuzufügen, müssen Sie sich via SSH auf Ihren Server einloggen und folgenden Befehl absetzten. Anschließend befindet sich in der Applikationsauswahl das neue Template.

Bash: nginx - vHost
clpctl vhost-template:add --name='Portainer - Foxly IT' --file=https://gist.githubusercontent.com/foxly-it/0b1cc6ebe5bace005162ce8f6f3e09ca/raw/4a0666527a7e23e44f4e4a24391a48120842b19e/Portainer%2520%257C%2520Foxly%2520IT

Domain/Subdomain erstellen

Die Erstellung einer Domain/Subdomain ist sehr simpel gehalten. Loggen Sie sich in Ihrem CloudPanel Webinterface an, navigieren Sie hier zu Webseiten und klicken Sie auf den Button Webseite hinzufügen. Erstellen Sie zudem eine PHP-Site.


?thumbnail=large


Wählen Sie hier, das zuvor erstellte Template unter Application* aus. Geben Sie Ihren Domainnamen an, unter welcher Portainer erreichbar sein soll. Des Weiteren können Sie hier noch den Website-Benutzer anpassen, oder so belassen. Vergeben Sie jedoch ein sicheres Passwort! Belassen Sie die eingesetzte PHP Version auf PHP 8.1. Klicken Sie nun auf Erstellen und schließen Sie damit die Einrichtung einer neuen Webseite ab. Sie werden im Anschluss automatisch auf den Reiter Webseiten weitergeleitet.

Über den Autor

Mark ist IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstellt er, als ein Teil seines Hobbys, gerne Anleitungen und versucht diese anderen näherzubringen. Systemintegration, Administration sowie Gaming sind Marks Leidenschaft und Hobby.


Hier können Sie uns unterstützen.

Foxly Gründer

Antworten 4

  • Hallo,


    hast du zufällig eine Idee, wie ich Portainer über Plesk dazu kriege, dass Plesk die Websockets (benötigt für die in Portainer integrierte Console) weiterleitet? Ich habe herausgefunden, dass man den Apache in der Subdomain deaktivieren muss, aber dann geht es trotzdem nicht und:

    Code
    location /api/websocket/ {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_pass http://172.0.0.1:8999/api/websocket/;
    }

    als Direktive für Nginx hat auch nicht geklappt.

  • Hallo,


    hast du zufällig eine Idee, wie ich Portainer über Plesk dazu kriege, dass Plesk die Websockets (benötigt für die in Portainer integrierte Console) weiterleitet? Ich habe herausgefunden, dass man den Apache in der Subdomain deaktivieren muss, aber dann geht es trotzdem nicht und:

    Code
    location /api/websocket/ {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_pass http://172.0.0.1:8999/api/websocket/;
    }

    als Direktive für Nginx hat auch nicht geklappt.

    Hallo und Willkommen Gamewalker .


    Das ist doppelt gemoppelt, unter Proxy_pass muss /api/websocket/ weg. Dies ist schon unter location angegeben.

    So wird an die IP http://172.0.0.1:8999/api/websocket/ angehangen.


    Grüße

  • Es bleibt leider bei:

    Code
    WebSocket connection to 'wss://<URL>/api/websocket/exec?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJnYW1ld2Fsa2VyIiwicm9sZSI6MSwiZXhwIjoxNjM3ODU3MTIyfQ.bRzCFnQBHx1R_s2g2kemacRtmi9JZP5qcV-s1L8SWy4&endpointId=2&id=a8254a2465bfc2fe41d724cb676fce7f67cb5ef920767088baefa8f50799f3fe' failed:
  • Hm, ich weiß, dass Plesk damals keine „richtige“ Implementierung der Websockets hatte. Wie es diesbezüglich nun aussieht, kann ich gerade nicht beurteilen, da wir Plesk seit einiger Zeit nicht mehr benutzen und wir somit nicht über den aktuellen Kenntnisstand verfügen.


    Das hier könnte man noch testen…

  • Diskutieren Sie mit!