Warum man Portainer anstelle der Konsole nutzen sollte: Einführung und schneller Einstieg

Warum man Portainer anstelle der Konsole nutzen sollte: Einführung und schneller Einstieg

Meta: Nico Saia · 10.04.2023 · ⏳ 4 Minuten · Alle Blogs →
Tagskubernetes · apps · portainer · docker · docker-swarm

Für diejenigen die direkt loslegen wollen hier der Link zum praktischen Teil

Warum dieser Post?

Immer wieder fällt mir auf, dass sich viele Menschen vor der Kommandozeile scheuen. Das ist auch nicht besonders verwunderlich, denn die Kommandozeile erfordert ein gewisses technisches Verständnis und kann insbesondere für Neulinge und unerfahrene Anwender abschreckend wirken. Immerhin gibt es bei vielen Technologien neben der Kommandozeile auch eine grafische Benutzeroberfläche (GUI), die oft als intuitiver empfunden wird.

Besonders bei komplexeren Befehlen, die über mehrere Zeilen gehen, kann es schwierig werden, den Überblick zu behalten und Fehler zu vermeiden. Aus diesem Grund kann eine grafische Benutzeroberfläche wie Portainer eine große Hilfe sein, um die Verwaltung von Docker-Containern zu vereinfachen und auch weniger erfahrenen Anwendern den Umgang damit zu erleichtern.

Docker bietet zwar eine GUI an (Docker-Desktop), diese richtet sich aber eher an Entwickler und ist nicht für den produktiven Einsatz gedacht. Zumal Docker-Desktop auch nur auf Windows und Mac läuft.

Was ist Portainer?

Portainer ist eine Web-GUI für Docker, welche selbst in Docker Containern läuft. Dabei unterstützt Portainer nicht nur Docker als Plattform, sondern auch Docker Swarm und Kubernetes.

Praktischer Teil

Portainer ausrollen

Die Anleitung kann auf der Portainer.io Seite nachgelesen werden. In diesem Beispiel wird die Community Edition verwendet.

Vorausgesetzt ist ein laufender Docker-Host

In der Konsole müssen folgende Schritte befolgt werden. Keine Sorge, es sind lediglich zwei Befehle, die in der Konsole verwendet werden müssen.

Zuerst muss ein Volume angelegt werden.

docker volume create portainer_data

Danach kann Portainer mit einem einzigen Befehl ausgerollt werden.

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-ce:latest

Nach einem kurzen Moment sollte Portainer unter https://localhost:9443 erreichbar sein.

Portainer einrichten

Im ersten Schritt muss der Nutzer angelegt werden und ein Passwort vergeben werden.

Anschließend gelangt man direkt zu Übersicht der verschiedenen Environments. Da wir in diesem Beispiel nur einen Docker Host haben, wird nur dieser angezeigt.

Nach einem Klick auf das Environment gelangt man zur Übersicht. Von diesem Punkt aus kommt man ganz einfach zu den verschiedenen Funktionen und Übersichten.

Prinzipiell war es das. So schnell hat man Portainer eingerichtet und kann nun mit der intuitiven GUI arbeiten. Über die wichtigsten Features von Portainer werde ich in einem weiteren Blogpost schreiben. Neben den normalen Funktionen, welche benötigt werden, um Docker zu verwalten, bietet Portainer nämlich noch einige weitere Features.

Ausrollen einer Anwendung

Was wäre eine kurze Einführung ohne ein Beispiel?

In diesem Beispiel wird eine Wordpress Instanz mittels einer Docker Compose Datei ausgerollt. Diese besteht aus einer Datenbank und einem Wordpress Container.

Hierfür klicken wir im Portainer Dashboard auf Stacks und danach auf Add Stack.

Nun gibt es mehrere Möglichkeiten einen Stack auszurollen. Die einfachste Variante ist den integrierten Web Editor zu verwenden. Hierfür klicken wir auf Web Editor.

Nun kann ein Name für den Stack vergeben werden und der Inhalt der Docker Compose Datei eingefügt werden.

services:
  db:
    image: mariadb:10.6.4-focal
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:
  wp_data:

Danach kann der Stack mit einem Klick auf Deploy the stack ausgerollt werden.

Unsere Wordpress Instanz sollte nun in wenigen Sekunden unter localhost:80 erreichbar sein.

Fazit

Portainer ist ein mächtiges Tool, welches alle Funktionen von Docker grafisch darstellt und vereinfacht. Dabei wurde die GUI ganz nach dem KISS Prinzip entwickelt und ist sehr einfach zu bedienen.

Portainer minimiert den Raum für Fehler und sorgt dafür, das es kinderleicht wird, eine Anwendung auszurollen und zu verwalten.

In einem weiteren Blogpost werde ich die fünf wichtigsten Features beispielhaft vorstellen und zeigen, weshalb Portainer viel mehr ist als nur eine GUI.

Quellen:

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps in der ayedo Cloud

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



Fabian Peter · 10.06.2024 · ⏳ 3 Minuten

Compliance leicht gemacht: Die ISO27001 als Schlüssel zur Einhaltung gesetzlicher Vorschriften

Compliance leicht gemacht: Die ISO27001 als Schlüssel zur Einhaltung gesetzlicher Vorschriften Die Einhaltung gesetzlicher Anforderungen und Datenschutzrichtlinien ist für Unternehmen eine ständige …

Lesen →

Lewin Grunenberg · 09.06.2024 · ⏳ 3 Minuten

Portainer mit Traefik-Labels bereitstellen und unter DNS-Eintrag nutzen

Einleitung: Portainer mit Traefik-Labels bereitstellen und unter DNS-Eintrag nutzen In diesem Beitrag zeigen wir dir, wie du Portainer mit Docker Compose und Traefik bereitstellst und es über einen …

Lesen →

Lewin Grunenberg · 09.06.2024 · ⏳ 3 Minuten

Baserow mit Traefik-Labels bereitstellen und unter DNS-Eintrag nutzen

Einleitung In diesem Beitrag zeigen wir dir, wie du Baserow mithilfe von Docker Compose und Traefik bereitstellen und es über einen DNS-Eintrag wie https://data.deine-domain.org zugänglich machen …

Lesen →

Lewin Grunenberg · 09.06.2024 · ⏳ 4 Minuten

Mattermost mit Traefik-Labels bereitstellen und unter DNS-Eintrag nutzen

Einleitung In diesem Beitrag zeigen wir dir, wie du Mattermost mit Docker Compose und Traefik bereitstellst und es über einen DNS-Eintrag wie https://chat.deine-domain.org erreichst. Diese …

Lesen →

Lewin Grunenberg · 09.06.2024 · ⏳ 4 Minuten

Paperless-ngx mit Traefik-Labels bereitstellen und unter DNS-Eintrag nutzen

Einleitung In diesem Beitrag zeigen wir dir, wie du Paperless-ngx mit Docker Compose und Traefik bereitstellst und es über einen DNS-Eintrag wie https://docs.deine-domain.org erreichst. Diese …

Lesen →


Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →

Kontaktieren Sie uns

Unsere Cloud-Experten beraten Sie gerne und individuell.

Wir antworten in der Regel innerhalb weniger Stunden auf Ihre Nachricht.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.