So installierst du Portainer per Docker auf einem VPS
So installierst du Portainer per Docker auf einem VPS –
Schritt für SchrittInhaltsverzeichnis
0. Überblick
- Verwendetes System: Debian 11 64 bit
- Genutzter User: Ich nehme alles als „root“ vor
- Testsystem: VPS General Purpose
- Zeitdauer: ca. 5 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: https://www.easyname.at/blog/vps/anwendungen/traefik-reverseproxy-auf-vps-installieren. Diese Anleitung muss zuerst ausgeführt werden.
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
1. Portainer v2 installieren
1.1 Einleitung
Portainer ist eine open-source Software welche eine grafische Docker Container Verwaltung. Mittels Portainer lassen sich Container starten sowie beenden, Container Spezifikationen auslesen und vieles mehr.
Portainer ist in der Community Version kostenlos. Es wird jedoch auch eine Business Version angeboten, welche unter anderem telefonischen Support bietet. Die Community Version lässt sich aber ohne Einschränkungen nutzen und wird in dieser Anleitung verwendet.
1.2 Infos zu yml Dateien
Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Du kannst den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator
1.3 Vorbereitung
Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Portainer werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.
Um Portainer neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu findest du hier: https://www.easyname.at/blog/vps/anwendungen/traefik-reverseproxy-auf-vps-installieren
1.3.1 Verzeichnis erstellen
Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Portainer abspeichen. Dazu geben wir folgendes in der Konsole ein:
dir -p /opt/containers/portainer/data
Du kannst hier auch ein anderes Verzeichnis verwenden. Du solltest dann aber die gesamte Anleitung entsprechend anpassen.
1.3.2 docker-compose.yml erstellen
Nun können wir mit der eigentlichen „Installation“ von Portainer beginnen. Öffne dazu folgende Datei:
nano /opt/containers/portainer/docker-compose.yml
Nun kopiere folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren Portainer Container.
version: '3'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.portainer.entrypoints=http"
- "traefik.http.routers.portainer.rule=Host('portainer.euredomain.de')"
- "traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.portainer.middlewares=portainer-https-redirect"
- "traefik.http.routers.portainer-secure.entrypoints=https"
- "traefik.http.routers.portainer-secure.rule=Host('portainer.euredomain.de')"
- "traefik.http.routers.portainer-secure.tls=true"
- "traefik.http.routers.portainer-secure.tls.certresolver=http"
- "traefik.http.routers.portainer-secure.service=portainer"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
- "traefik.docker.network=proxy"
networks:
proxy:
external: true
Nun musst du noch den Hostnamen anpassen, über welchen später Portainer erreichbar sein soll.
Diese beiden Zeilen solltest du anpassen.
- "traefik.http.routers.portainer.rule=Host('portainer.euredomain.de')"
- "traefik.http.routers.portainer-secure.rule=Host('portainer.euredomain.de')"
In meinem Fall also:
- "traefik.http.routers.portainer.rule=Host('portainer.testbereich.net')"
- "traefik.http.routers.portainer-secure.rule=Host('portainer.testbereich.net')"
Nun sind wir fertig.
2. Portainer starten
Gebe nun folgendes ein, um deinen Portainer Container zu starten:
docker compose -f /opt/containers/portainer/docker-compose.yml up -d
Gehe nun mit deinem Webbrowser auf deine Webseite (z.B. portainer.euredomain.de). Dort solltest du nach einigen Sekunden folgendes sehen:
Hier könntest / solltest du nun den Administrator Nutzername ändern sowie ein sicheres Kennwort vergeben.
Diesen Haken kannst du entfernen:
Anschließend klicke auf „Create user“ und der Account wird erstellt.
Nun siehst du folgendes:
Hier klickst du einfach links auf „local“, um deine Docker Container zu sehen.
3. Nutzung von Portainer
Hier zeige ich dir, wie du Portainer nutzen kannst.
3.1 Alle Container anzeigen lassen
Um dir alle Container anzeigen zu lassen, klicke auf „Containers“.
Nun siehst du eine Liste aller Container.
3.2 Container Logs anzeigen
Du kannst dir auch weitere Informationen zu den Containern bzw. deren Konsolenausgabe anzeigen lassen.
3.2.1 Konsolenausgabe
Dazu musst du auf das „Blatt“ klicken.
Nun siehst du die Konsolenausgabe des Containers „portainer“.
3.2.2 Container Details
Mit einem Klick auf das „Infozeichen“ kannst du dir Details des Containers anzeigen lassen.
Die einzelnen Reiter hier kannst du noch „erweitern“ um noch mehr Details zu sehen.
3.2.3 Auslastung
Mit einem Klick auf den „Graphen“ kannst du dir die aktuelle Container Auslastung anzeigen lassen.
Nun siehst du die RAM / CPU sowie Netzwerkauslastung des Containers „portainer“.
3.2.4 Befehl auf der Container Shell ausführen
Du hast ebenfalls noch die Möglichkeit einen Befehl direkt auf der Konsole des Containers auszuführen. Klicke dazu auf das letzte Symbol. Hier verwende ich den Container „traefik“, da dieser eine „SH Shell“ installiert hat.
Dann „/bin/sh“ auswählen und „Connect“ klicken.
Nun kannst du beliebige Befehle direkt auf der „SH Shell“ des Traefik Containers ausführen.
easyname ist ein erfolgreicher und bekannter österreichischer Anbieter von Cloud-Services, Domains sowie Webhosting bis hin zur Server-Infrastruktur und gehört seit 2020 zur dogado group.
Das Unternehmen ist seit 2006 in Österreich erfolgreich am Markt und inzwischen auch in vielen anderen Ländern weltweit tätig. Sowohl das Team als auch die gehosteten Daten befinden sich in Österreich.
easyname liegt die Datensicherheit besonders am Herzen und stellt daher zu jedem Hosting-Paket auch kostenlose SSL-Zertifikate zur Verfügung. Mit intuitiven Tools zur Erstellung von Websites und Webshops und mit Easy Install Apps wie WordPress, Joomla oder PrestaShop können alle easyname-Kunden schnell in die Online-Welt einsteigen.