,

So installierst du Portainer per Docker auf einem VPS

Lesedauer 4 Minuten

So installierst du Portainer per Docker auf einem VPS –
Schritt für SchrittInhaltsverzeichnis

0. Überblick

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:

Portainer Anmeldemaske im Webbrowser

Hier könntest / solltest du nun den Administrator Nutzername ändern sowie ein sicheres Kennwort vergeben.

Diesen Haken kannst du entfernen:

Haken zur Bestätigung/Ablehnung von Sammlungen für Statistiken

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“.

Alle Container anzeigen lassen in Portainer

Nun siehst du eine Liste aller Container.

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.

Informationen zu den Containern durch Klick auf das Blatt-Icon

Nun siehst du die Konsolenausgabe des Containers „portainer“.

Konsolenausgabe des Containers - Portainer

3.2.2 Container Details

Mit einem Klick auf das „Infozeichen“ kannst du dir Details des Containers anzeigen lassen.

Container Details ausgeben lassen in Portainer

Die einzelnen Reiter hier kannst du noch „erweitern“ um noch mehr Details zu sehen.

Details erweitern in Portainer

3.2.3 Auslastung

Mit einem Klick auf den „Graphen“ kannst du dir die aktuelle Container Auslastung anzeigen lassen.

Auslastung eines Conatiners in Portainer ansehen

Nun siehst du die RAM / CPU sowie Netzwerkauslastung des Containers „portainer“.

RAM / CPU sowie Netzwerkauslastung des Containers in 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.

Möglichkeit einen Befehl direkt auf der Konsole des Containers auszuführen, durch Klick auf das letzte Symbol

Dann „/bin/sh“ auswählen und „Connect“ klicken.

/bin/sh in der Commandzeile und Connect-Button drücken

Nun kannst du beliebige Befehle direkt auf der „SH Shell“ des Traefik Containers ausführen.

Möglichleit beliebige Befehle direkt auf der SH Shell auszufü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.