
Du brauchst ein Portainer Tutorial?
Dieser Guide gibt Dir eine einfache Einführung.
Alle Portainer-Eigenheiten erklärt dieser Guide!
Starten wir!
Was ist Portainer?

Die Software Portainer hilft Dir bei der Verwaltung von Deinen Docker (Swarm), Azure ACI, Nomad und Kubernetes. All diese Software bieten ein Command Line Interface an, worauf Portainer einem User Interface auf Browser Basis setzt.
Die Software setzt den Fokus auf dem Management von mehreren (verschiedenen) Servern von einer zentralen Maschine aus. Eigene Konzepte wie der „Stack“ versuchen komplexere Docker Swarm Konzepte zu „vereinfachen“.
Was ist Docker?
Die Software Docker gehört zu den Container-Virtualisierungen. Statt eine ganze virtuelle Maschine mit einem vollwertigen Betriebssystem auf dem Hostsystem hochzufahren, spart ein Container Ressourcen für die laufenden Anwendungen.

In diesen Ausführungsumgebungen laufen die Anwendungsprogramme, welche nur die notwendigen Software-Abhängikeiten erhalten. Die Containerisierung erlaubt ein ultra flexibles Betreiben von der IT-Infrastruktur.
Docker ermöglicht es mehrere Instanzen einer Anwendung und Loadbalancer auf einer potenten Maschine zu betreiben, ohne dass sich die Instanzen gegenseitig stören.
Was ist Docker Swarms?
Das System „Docker Swarms“ arbeitet als ein Verwaltungssystem, ähnlich wie Kubernetes und OpenShift. Diese nennt sich auch Container-Orchestration.
Der Swarm Manager überwacht die Instanzen und startet neue, wenn einzelne abrauschen.
Die Overlay-Netzwerke spannen über alle Nodes auf allen physischen Computern ein internes Netzwerk. Dieses virtuelle Netzwerk funktioniert ohne eine externe Netzwerk-Config voll virtualisiert. Transport Layer Security (TLS) schützt die Kommunikation zwischen den physischen Computer, sodass kein Dritter mitschneiden kann.
Warum Portainer nutzen
#1 Du brauchst mehr Übersichtlichkeit
Die Software Docker ist eine Command Line Interface und nur mit der Nutzung des Terminals verwendbar. Weil kein Command Line Interface (CLI) 10 / 10 Punkte für gute Benutzbarkeit erhält, solltest Du eine grafische Oberfläche in Erwägung ziehen.
Wenn Du mehr als einen Container auf Deiner Maschine gleichzeitig laufen lässt, können die CLI Kommands schnell unübersichtlich sein. Portainer unterstützt Paging, formatierte Tabellen und verschiedene Interaktionen mit diesen:
- Starten / Stoppen / Löschen
- In Bash des Containers springen
- Logs auslesen
- Metadata anzeigen
#2 Einfache Steuerung für mehr Effizienz
Einige Routinearbeiten lassen sich mit einer grafischen Nutzeroberfläche einfacher nutzen. Dazu gehört z. B. das Starten und Stoppen der Docker Swarms oder das Auslesen der Logs. Über CLI Kommandos kannst Du das Gleiche erreichen, aber brauchst länger (trotzt Deiner 500 Anschläge pro Minute).
#3 Arbeiten auf mehreren Nodes gleichzeitig
Portainer arbeitet lokal auf Deinen Computer und von dort aus administrierst Du mehrere physische Server gleichzeitig. Statt tausende Terminal-Fenster zu öffnen und gleiche Befehle immer wieder auszuführen, kannst Du mit der Portainer-Nutzeroberfläche mehr in kürzerer Zeit schaffen.
Der Portainer Guide
Vorbereitung
Zuerst brauchst Du Docker auf Deinem Server / Workstation. Installiere die Docker.exe für eine Windows-Maschine oder in einem Debian-basierten System mit dem Packet-Manager Aptitude docker.io
sudo apt-get install docker.io
Die Software Portainer managt nicht nur Docker-Container, sondern ist selbst ein Docker Container. Am einfachsten startest Du einen Docker-Container mit einer docker-compose Datei. Diese Datei beinhaltet alle Konfigurationen und Einstellungen für den Docker-Container.
Installiere im zweiten Schritt die das Docker Plugin docker-compose
:
sudo apt-get install docker-compose-plugin
Protainer kannst Du als einfache Docker Kommando starten:
docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee:latest
Mit dem Befehl docker ps
solltest Du dann den neuen Container nach ein paar Minuten sehen.
Entdecke die Nutzeroberfläche
Gehe zu https://localhost:9443
Erstelle ein Nutzer-Account mit Name und Passwort.

Jetzt kannst Du Portainer lokal nutzen, um Deine Docker-Arbeit übersichtlich zu erledigen. Alternativ kannst Du jetzt weitere Umgebungen hinzufügen. Als Umgebungen gelten die physischen Computer / Server auf denen Docker, Kubernetes oder andere Virtualisierungsumgebungen laufen. Die Umgebungen brauchen eine Docker Installation.
Ein normale Portainer Installation ist nicht notwendig, sondern eine Portainer-Agent-Installation.
Der Agent empfängt vom Master (Deine Workstation) Befehle, welche Container wie zu erstellen sind. Du kannst Dich auch direkt auf dem Node einwählen (über die Portainer UI). Der Nachteil ist, dass Du die Docker-Container von dem Server Node nicht verwaltbar sind.

Bevor Docker-Container über mehrere Nodes hinweg sprechen kann, erstellst Du erst ein Overlay Netzwerk, welches ein virtuelles, internes Docker-Netzwerk ist. Diese verbindet die Docker-Container Computer übergreifend. Der Service mit dem Docker-Agenten verwaltet dann die Docker auf der physischen Maschine.
docker network create \ --driver overlay \ portainer_agent_network
docker service create \
--name portainer_agent \
--network portainer_agent_network \
-p 9001:9001/tcp \
--mode global \
--constraint 'node.platform.os == linux' \
--mount
type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount
type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes \
portainer/agent:2.15.1
Portainer Menu Optionen
Übersicht ist ein Muss – Dashbaord
Das Dashboard zeigt die wichtigsten Kennzahlen zu Deinem Host-Rechner an. Wie viele Images, Volumes sind gespeichert? Wie leistungsstark ist die Maschine (RAM, CPUs, GPUs)? Sind virtuelle Netzwerke vorhanden?
Für allen Faulen – App Templates
Die App Templates sind vorgefertigte Portainer Konfigurationen, welche Du mit wenig Aufwand installieren kannst. Statt 10 Stunden an der perfekten Konfiguration für einen Container herumzufrickeln, lauf die Templates in der Regel Out-of-the-Box. Achte auf die Architektur Deines Rechners.
Bitte keine Daten verlieren – Volumes
Docker Container speichern keine Nutzerdaten. Wenn Du den Container herunterfährst, verschwinden alle Änderungen. Die Docker Volumes lösen dieses Problem. In einem zentralen Ordner speichert Docker alle Volumes.

Apps fertig serviert – Images
Docker Images sind binär Blobs, welche die Applikationslogik enthält. Diese müssen kompatibel für Dein System sein: x86, ARM oder altere Architekturen. Nicht für jedes Image gibt es für jede Architektur etwas.
Lasse die babbeln – Networks
Docker bietet ein internes Docker-Netzwerk an. Statt physische Computer mit Netzwerk-Kabeln zu verbinden, verwaltest Du ein internes Netzwerk virtuell. So kannst Du Container abkapseln, Subnetze bilden und die Kommunikation zwischen den Containern ermöglichen.
Praktische Stacks
Das Portainer eigene Konzept „Stacks“ basiert auf einer Docker-Compose Datei, welche als einen Docker-Swarm fungieren. Rauscht eine Instanz von einem Stack ab, startet Portainer eine neue Instanz. Ein Portainer-Stack schafft kein docker build
, den Du in Deine Compose integrieren hast. Du musst erst das Image auf der lokalen Maschine bauen, auf die Node über Repo via Upload oder Push ziehen und dann kannst Du den Stack starten.
Diese Docker Compose startet ein MariaDB (Datenbank MySQL) mit der Nutzeroberfläche PhpMyAdmin. Wenn Du den Deine Computer hochfährst, dann fährt auch die Datenbank hoch
version: '3.8'
services:
mariadb:
image: mariadb:lastest
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_USER: superdupperuser
MYSQL_PASSWORD: changemenow
ports:
- "3306:3306"
volumes:
- mariadb:/var/lib/mysql
networks:
db:
phpmyadmin:
image: phpmyadmin
restart: always
expose:
- "80"
ports:
- "80:80"
environment:
- PMA_HOST=mariadb
- PMA_PORT=3306
networks:
db:
volumes:
mariadb:
driver: local
networks:
db:
driver: bridge
Quellenangabe Bilder: Icons und SVG-Grafiken im Titelbild von Microsoft PowerPoint 2019, frei verfügbar nach EULA
*) Mit dem Abonnement des Newsletters erklären Sie sich mit der Analyse des Newsletters durch individuelle Messung, Speicherung und Analyse von Öffnungsraten und der Klickraten in Profilen zu Zwecken der Gestaltung künftig besserer Newsletter einverstanden. Sie können die Einwilligung in den Empfang des Newsletters und die Messung mit Wirkung für die Zukunft widerrufen. Mehr in der Datenschutzerklärung.