{"id":82070,"date":"2026-06-19T07:30:00","date_gmt":"2026-06-19T14:30:00","guid":{"rendered":"https:\/\/dhblog2.dream.press\/blog\/?p=82070"},"modified":"2026-07-04T13:45:20","modified_gmt":"2026-07-04T20:45:20","slug":"wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de","status":"publish","type":"post","link":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/","title":{"rendered":"Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung)"},"content":{"rendered":"<div class=\"tldr-block\" style=\"display: none;\">\n\t<div class=\"svg\">\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 119.25 37.8\">\n\t<g>\n\t\t<g>\n\t\t\t<path fill=\"#ffffff\" d=\"M23.4,6.93h-8.1v24.57h-7.2V6.93H0V0h23.4v6.93Z\" \/>\n\t\t\t<path fill=\"#ffffff\" d=\"M45,24.57v6.93h-18.45V0h7.2v24.57h11.25Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M90.9,15.75c0,8.91-6.61,15.75-15.3,15.75h-12.6V0h12.6c8.68,0,15.3,6.84,15.3,15.75ZM83.97,15.75c0-5.4-3.42-8.82-8.37-8.82h-5.4v17.64h5.4c4.95,0,8.37-3.42,8.37-8.82Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M105.57,21.15h-3.42v10.35h-7.2V0h12.6c5.98,0,10.8,4.81,10.8,10.8,0,3.87-2.34,7.38-5.81,9.13l6.71,11.56h-7.74l-5.94-10.35ZM102.15,14.85h5.4c1.98,0,3.6-1.75,3.6-4.05s-1.62-4.05-3.6-4.05h-5.4v8.1Z\" \/>\n\t\t<\/g>\n\t\t<path\n\t\t\tfill=\"#0173ec\"\n\t\t\td=\"M53.97,37.8h-5.4l1.8-13.27h7.2l-3.6,13.27ZM49.02,12.55c0-2.34,1.93-4.27,4.27-4.27s4.27,1.94,4.27,4.27-1.93,4.27-4.27,4.27-4.27-1.94-4.27-4.27Z\"\n\t\t \/>\n\t<\/g>\n<\/svg>\n\t<\/div>\n\t<div class=\"tldr-wrap\">\n\t\t\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/docker\/\">Docker auf einem VPS<\/a> zu betreiben, bietet dir portable, selbstgehostete Apps und gibt dir zugleich direkte Kontrolle \u00fcber den Server und das Deployment-Setup. Das Hinzuf\u00fcgen von Portainer stellt eine Web-Oberfl\u00e4che vor Docker bereit, sodass du nicht st\u00e4ndig im Terminal leben musst.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer ver\u00f6ffentlicht kein RAM-Minimum. Ein 4-GB-VPS kann f\u00fcr einen kleinen Stack ausreichen, aber dimensioniere ihn anhand der kombinierten Anforderungen von Betriebssystem, Docker-Daemon und jedem Container, den du betreiben willst. Portainer selbst l\u00e4uft als schlanker Container \u2014 deine Apps, nicht die Oberfl\u00e4che, bestimmen, wie viel RAM du brauchst. Die Portainer Community Edition ist kostenlos und Open Source, und sobald Docker und die Firewall-Vorbereitung erledigt sind, besteht die eigentliche Installation aus einem volume create und einem docker run-Befehl.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zwei Stolpersteine solltest du kennen, bevor du anf\u00e4ngst: Portainer wartet nur f\u00fcnf Minuten auf das erste Admin-Konto, und Docker ver\u00f6ffentlicht Ports standardm\u00e4\u00dfig direkt an UFW vorbei. Dieser Leitfaden behandelt beides in der richtigen Reihenfolge \u2014 die Installation, die Firewall, die Dimensionierung, die Backups und wo Portainer ab dem zweiten Tag seinen Wert beweist.<\/p>\n\n\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Hast du jemals von <em>Dockerception<\/em> geh\u00f6rt?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na, halt dich fest. Wir gehen in den Kaninchenbau hinunter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer, die Web-Oberfl\u00e4che, die du gleich auf Docker installierst, <em>ist selbst ein Docker-Container<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es ist ein Tool, das auf genau der Sache l\u00e4uft, die es verwaltet. Du startest es mit einer einzigen docker run-Zeile, und das Erste, was es tut, ist, durch ein kleines Loch im Host (eine Socket-Datei) zur\u00fcckzugreifen und den Docker-Daemon zu bitten, ihm jeden Container auf der Maschine zu zeigen \u2014 einschlie\u00dflich sich selbst. Von diesem Browser-Tab aus verwaltest du alle deine anderen Docker-Container.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Die Oberfl\u00e4che, die du gerade anschaust, taucht in ihrer eigenen Containerliste auf.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf einem VPS, bei dem du bereits f\u00fcr den Server bezahlst und bereits mit SSH vertraut bist, f\u00fcgt sich Portainer nahtlos oben auf Docker ein, ohne dass sich an der darunterliegenden Funktionsweise etwas \u00e4ndert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Das<\/em> ist der Wert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine 4-GB-Box kann ein Ausgangspunkt f\u00fcr Docker und Portainer sein, aber die Anwendungen, die du hinzuf\u00fcgst, entscheiden dar\u00fcber, ob diese Kapazit\u00e4t ausreicht. Denk an die Hausautomatisierung, das Familienfotoarchiv, den KI-Assistenten und den Newsletter, den du schon lange starten wolltest \u2014 auf einem Server, der dir tats\u00e4chlich geh\u00f6rt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier erf\u00e4hrst du, wie du es zum Laufen bringst, absicherst und Nutzen daraus ziehst.<\/p>\n\n\n\n<h2 id=\"h-what-is-portainer-exactly\" class=\"wp-block-heading\">Was Genau Ist Portainer?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"829\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x.webp\" alt=\"Portainer-Architektur 1x\" class=\"wp-image-82009 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-300x155.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1024x531.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-768x398.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1536x796.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-600x311.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1200x622.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-730x378.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1460x756.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-784x406.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1568x812.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-877x454.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/829;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Portainer ist eine Web-Oberfl\u00e4che, die als Docker-Container l\u00e4uft und \u00fcber den Docker-Socket deine anderen Container verwaltet.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es ist im Wesentlichen ein browserbasiertes Frontend (eine Docker-GUI) f\u00fcr dieselben Docker-Befehle, die du sonst von Hand eingeben w\u00fcrdest, plus Stack-Verwaltung, rollenbasierten Zugriff (wenn du auf die Business Edition upgradest) und eine Dashboard-Ansicht von CPU und Arbeitsspeicher.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Socket-Verbindung ist das, was es funktionieren l\u00e4sst. Das Binden sieht im Installationsbefehl wie <code><strong>-v \/var\/run\/docker.sock:\/var\/run\/docker.sock<\/strong><\/code> aus, und diese eine Zeile erledigt die ganze schwere Arbeit. Ohne sie ist Portainer eine Benutzeroberfl\u00e4che f\u00fcr einen leeren Docker-Host. Mit ihr ist Portainer die Fernbedienung des Docker-Hosts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine Sache, die du beachten solltest: Jeder Prozess, der auf <strong><code>\/var\/run\/docker.sock<\/code><\/strong> zugreifen kann, kann den Docker-Daemon steuern, und <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/security\/\">Dockers eigene Sicherheitsdokumentation<\/a> stellt unmissverst\u00e4ndlich klar, dass nur vertrauensw\u00fcrdige Benutzer das d\u00fcrfen sollten: Ein \u00fcber den Daemon gestarteter Container kann das gesamte Dateisystem des Hosts einbinden und ohne Einschr\u00e4nkung ver\u00e4ndern. Das ist ein <em>Feature<\/em>, wenn Portainer danach fragt, und ein <em>Problem<\/em>, wenn es sich um einen Container handelt, den du letzte Woche gestartet und dabei vergessen hast, dass du ihm Zugriff auf den Socket gegeben hast.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Behandle das Binden des Sockets als privilegierte F\u00e4higkeit und pr\u00fcfe jeden anderen Container, der eine m\u00f6chte.<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h-do-you-need-portainer-if-you-already-have-docker\" class=\"wp-block-heading\">Brauchst Du Portainer, Wenn Du Schon Docker Hast?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nein. <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/what-is-docker\/\">Docker<\/a> funktioniert einwandfrei \u00fcber das Terminal, und viele Leute betreiben ein paar Container jahrelang, ohne jemals eine Benutzeroberfl\u00e4che darauf zu installieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Du m\u00f6chtest Portainer, wenn:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Du jonglierst mit mehr als zwei oder drei Docker-Containern \u00fcber verschiedene Apps hinweg.<\/li>\n\n\n\n<li>Du klickst lieber auf \u201eNeustart\u201c, als um 23 Uhr einen Compose-Befehl neu einzutippen.&nbsp;<\/li>\n\n\n\n<li>Du teilst den Zugang mit jemandem, der nicht st\u00e4ndig im Terminal lebt.&nbsp;<\/li>\n\n\n\n<li>Du m\u00f6chtest Stack-Updates aus einem Git-Repo bereitstellen, ohne ein Deploy-Skript zu schreiben.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcberspringe Portainer, wenn:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Du betreibst ein oder zwei Container, die sich selten \u00e4ndern.&nbsp;<\/li>\n\n\n\n<li>Du kennst dich bereits mit Docker Compose aus und bleibst gern dabei.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Docker selbst ist mittlerweile so weit verbreitet, dass dies keine Randentscheidung ist. In der <a target=\"_blank\" href=\"https:\/\/stackoverflow.co\/company\/press\/archive\/stack-overflow-2025-developer-survey\/\">Stack Overflow Developer Survey 2025<\/a> gaben 71 % der Befragten an, Docker zu nutzen \u2014 das Spitzenergebnis unter den Technologien f\u00fcr Cloud-Entwicklung und Infrastruktur, nach einem Sprung um 17 Prozentpunkte gegen\u00fcber 2024. Das Portainer-Projekt hat mit Stand August 2026 mehr als <a target=\"_blank\" href=\"https:\/\/github.com\/portainer\/portainer\">38.000 Sterne auf GitHub<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt weitere Optionen. <a href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/dokploy\/\">Dokploy<\/a> zum Beispiel geht weiter in Richtung einer vollst\u00e4ndigen selbstgehosteten PaaS und k\u00fcmmert sich f\u00fcr dich um Apps, Datenbanken und SSL. Portainer bleibt n\u00e4her an purem Docker: dieselben Compose-Dateien, dieselben Images, nur mit einer Oberfl\u00e4che dar\u00fcber.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du in tmux lebst und eine App betreibst, schlie\u00dfe diesen Tab. <em>Dann passt alles.<\/em> Wenn du vier selbstgehostete Apps betreibst und diesen Monat zweimal \u201eWas sind Docker-Logs nochmal?\u201c gegoogelt hast, lies weiter.<\/p>\n\n\n\n<h2 id=\"h-how-big-a-vps-do-you-need-to-run-docker-and-portainer\" class=\"wp-block-heading\">Wie Gro\u00df Muss Ein VPS Sein, Um Docker Und Portainer Zu Betreiben?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer ver\u00f6ffentlicht kein RAM-Minimum. Ein 4-GB-<a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/beginners-guide-vps\/\">VPS<\/a> kann f\u00fcr einen kleinen Stack ausreichen, aber dimensioniere ihn anhand der kombinierten Anforderungen von Betriebssystem, Docker-Daemon und jedem Container, den du betreiben willst.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portainers eigene <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/start\/requirements-and-prerequisites\">Anforderungsseite<\/a> sagt \u00fcberraschend wenig \u00fcber RAM: Der Server wird als schlanker Container ausgeliefert, und die Leistungsempfehlungen in der Dokumentation betreffen den Festplattenspeicher (mehr dazu unten). Die eigentliche RAM-Rechnung sind deine Workloads \u2014 plane f\u00fcr das Betriebssystem, den Docker-Daemon und jeden Container, den du betreiben willst. Plane auch Festplattenplatz f\u00fcr Logs ein: Dockers Standard-Logtreiber json-file f\u00fchrt keine Logrotation durch, sodass die Logs eines gespr\u00e4chigen Containers mit der Zeit erheblich viel Speicherplatz verbrauchen k\u00f6nnen. <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/logging\/configure\/\">Dockers Logging-Dokumentation<\/a> empfiehlt stattdessen den Treiber local. Sobald Docker installiert ist (Schritt 2 unten), erstelle Dockers Konfigurationsverzeichnis, setze den Logtreiber local und starte Docker dann neu: F\u00fchre <strong><code>sudo install -d -m 0755 \/etc\/docker<\/code><\/strong> aus, dann <strong><code>printf '%s\\n' '{ \"log-driver\": \"local\" }' | sudo tee \/etc\/docker\/daemon.json &gt; \/dev\/null<\/code><\/strong> und dann <strong><code>sudo systemctl restart docker<\/code><\/strong>. Erledige das, bevor du langlaufende Apps bereitstellst: Der Treiber local rotiert Logs standardm\u00e4\u00dfig, und die \u00c4nderung gilt nur f\u00fcr Container, die danach erstellt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So sieht das bei realen Workloads aus:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1089\" height=\"1445\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a.webp\" alt=\"Tabelle zur VPS-Dimensionierung f\u00fcr Docker und Portainer: Ein einzelner kleiner App-Stack mit Ghost, n8n, Postgres und einem Reverse Proxy passt auf DreamHost Stack 4 mit 4 GB RAM; gr\u00f6\u00dfere Tarife werden anhand dokumentierter Workload-Anforderungen dimensioniert\" class=\"wp-image-87229 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a.webp 1089w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-226x300.webp 226w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-772x1024.webp 772w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-768x1019.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-600x796.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-730x969.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-784x1040.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-877x1164.webp 877w\" data-sizes=\"(max-width: 1089px) 100vw, 1089px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1089px; --smush-placeholder-aspect-ratio: 1089\/1445;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das Arbeitsblatt ist einfache Addition: Schlage die dokumentierte RAM-Anforderung f\u00fcr jede App nach, die du betreiben willst, addiere das Betriebssystem und den Docker-Daemon und lass dann Reserven f\u00fcr Lastspitzen. Portainer selbst ver\u00f6ffentlicht kein RAM-Minimum, also sind es die Apps \u2014 nicht die Oberfl\u00e4che \u2014, die die Box f\u00fcllen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei DreamHost gibt es unser <a href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/\" target=\"_blank\">VPS Hosting<\/a> in vier auf RAM basierenden Stack-Tarifen (Stack 4, 8, 16 und 32). Der Einstiegstarif Stack 4 (2 vCPUs, 4 GB RAM, 75 GB NVMe-SSD, vollst\u00e4ndiger Root-Zugriff) passt ideal zu einem kleinen Docker-Host. Bei monatlicher Abrechnung kostet er 8,99 $\/Monat f\u00fcr die ersten 3 Monate und verl\u00e4ngert sich danach automatisch zu 15,99 $\/Monat (Stand: August 2026; die gesamte Laufzeit zuz\u00fcglich Steuern wird beim Checkout berechnet \u2014 aktuelle Preise findest du immer auf der <a href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/docker\/\">Docker + Portainer VPS-Seite<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du unsicher bist, ob sich <a href=\"https:\/\/www.dreamhost.com\/blog\/self-hosting\/\" target=\"_blank\">Selbsthosting<\/a> lohnt, ist Stack 4 die richtige Einstiegsgr\u00f6\u00dfe: gro\u00df genug, um es herauszufinden, klein genug, dass du nicht f\u00fcr Reserven bezahlst, die du nicht nutzt. Wenn dein Arbeitsblatt dar\u00fcber hinausw\u00e4chst, kannst du auf einen h\u00f6heren Tarif wechseln, und deine Umgebung zieht mit \u2014 beachte aber, dass ein Wechsel zur\u00fcck auf einen kleineren Stack derzeit nicht unterst\u00fctzt wird, also fang bewusst klein an.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Eine Anmerkung zum Speicherplatz:<\/strong> Portainers Daten-Volume enth\u00e4lt seine eigene Datenbank und Konfiguration sowie einen Klon jedes Git-Repositorys, aus dem du Stacks bereitstellst \u2014 Portainers Dokumentation warnt, dass gro\u00dfe oder mehrere Repos erheblichen Speicherplatz belegen k\u00f6nnen. Die Leistungsempfehlungen der Dokumentation betreffen den Festplattenspeicher, nicht den Arbeitsspeicher: SSD-Leistung (\u22483,5 MB\/s, 30.000 IOPS oder mehr, unter 10ms Schreiblatenz) bezeichnen sie als ideal. Stack 4 umfasst 75 GB NVMe-SSD-Speicher.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-install-docker-and-portainer-on-a-vps\" class=\"wp-block-heading\">Wie Installierst Du Docker Und Portainer Auf Einem VPS?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1392\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x.webp\" alt=\"Portainer.io-Ersteinrichtungsformular zum Erstellen des Administratorkontos mit Benutzername\" class=\"wp-image-82012 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-300x261.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1024x891.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-768x668.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1536x1336.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-600x522.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1200x1044.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-730x635.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1460x1270.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-784x682.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1568x1364.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-877x763.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1392;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Es sind sieben Schritte. Die Download- und Installationszeit h\u00e4ngt von deinem VPS und deiner Netzwerkverbindung ab. Die Befehle in den Schritten 2 bis 6 sind f\u00fcr Ubuntu geschrieben und k\u00f6nnen auf einem frischen Server der Reihe nach eingef\u00fcgt werden; die einzige Stelle, an der ein Befehl einen Wert braucht, den nur du kennst (deine eigene IP-Adresse, in Schritt 4), wird im jeweiligen Schritt hervorgehoben. (Willst du die ganze Liste \u00fcberspringen? Die App-Bibliothek von DreamHost VPS Hosting enth\u00e4lt ein <a href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/docker\/\">Docker + Portainer Image<\/a>, bei dem beides vorkonfiguriert ist.)<\/p>\n\n\n\n<h3 id=\"h-1-pick-a-linux-distribution\" class=\"wp-block-heading\">1. W\u00e4hle eine Linux-Distribution<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Leitfaden verwendet Ubuntu 24.04 LTS. Docker Engine unterst\u00fctzt Ubuntu 22.04, 24.04 und 26.04 LTS (Stand: August 2026). <a href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/ubuntu\/\">Ubuntu<\/a> ist eines der vorinstallierten Betriebssysteme bei DreamHost VPS Hosting.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debian und Distributionen der RHEL-Familie wie AlmaLinux funktionieren auch, haben aber in der Docker-Dokumentation eigene Installationswege, und die Befehle unten lassen sich nicht unver\u00e4ndert \u00fcbertragen. Eine zus\u00e4tzliche Besonderheit bei der RHEL-Familie: Portainers Installationsanleitung setzt voraus, dass SELinux deaktiviert ist, und sagt, dass du Docker beim Bereitstellen von Portainer <strong><code>--privileged<\/code><\/strong> \u00fcbergeben sollst, wenn du SELinux aktiviert brauchst. Wenn dir dieser Satz nichts gesagt hat, nimm Ubuntu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nicht sicher, welche Version von Ubuntu du verwendest? Hier findest du <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/check-ubuntu-version\/\">f\u00fcnf M\u00f6glichkeiten zur \u00dcberpr\u00fcfung<\/a>.<\/p>\n\n\n\n<h3 id=\"h-2-install-docker-from-the-official-repository\" class=\"wp-block-heading\">2. Installiere Docker aus dem offiziellen Repository<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fchre kein <strong><code>apt install docker.io<\/code><\/strong> aus, und installiere Docker auch nicht \u00fcber Snap \u2014 Dockers <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">offizielle Installationsdokumentation<\/a> f\u00fchrt <strong>docker.io<\/strong> unter den inoffiziellen Paketen auf, die vor der Installation von Docker Engine deinstalliert werden m\u00fcssen, und Portainers Installationsanleitung warnt, dass das Snap-Paket Kompatibilit\u00e4tsprobleme verursachen kann.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entferne zuerst alle in Konflikt stehenden Pakete. Das ist der Entfernungsbefehl aus Dockers aktueller Installationsanleitung, und auf einem frischen Server findet er meist nichts zu entfernen \u2014 die Anleitung weist darauf hin, dass apt m\u00f6glicherweise meldet, dass keines dieser Pakete installiert ist:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcge als N\u00e4chstes Dockers GPG-Schl\u00fcssel hinzu (jede Zeile unten ist ein eigener Befehl):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install ca-certificates curl\nsudo install -m 0755 -d \/etc\/apt\/keyrings\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o \/etc\/apt\/keyrings\/docker.asc\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcge dann Dockers apt-Repository hinzu. Dadurch wird die Repository-Definition in <strong><code>\/etc\/apt\/sources.list.d\/docker.sources<\/code><\/strong> geschrieben \u2014 die Datei, die Dockers Installationsanleitung verwendet \u2014, wobei deine Ubuntu-Version und CPU-Architektur automatisch eingetragen werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/apt\/sources.list.d\/docker.sources &gt; \/dev\/null &lt;&lt;EOF\nTypes: deb\nURIs: https:\/\/download.docker.com\/linux\/ubuntu\nSuites: $(. \/etc\/os-release &amp;&amp; echo \"$VERSION_CODENAME\")\nComponents: stable\nArchitectures: $(dpkg --print-architecture)\nSigned-By: \/etc\/apt\/keyrings\/docker.asc\nEOF\nsudo apt update<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Installiere schlie\u00dflich Docker Engine und das Compose-Plugin in einem Durchgang:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<\/code><\/pre>\n\n\n\n<h3 id=\"h-3-verify-docker-is-running\" class=\"wp-block-heading\">3. \u00dcberpr\u00fcfe, ob Docker l\u00e4uft<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fchre <strong><code>sudo docker run hello-world<\/code><\/strong> aus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du die Nachricht \u201eHello from Docker!\u201c nicht erh\u00e4ltst, bring zuerst den Daemon in Ordnung, bevor du Portainer darauf aufsetzt.<\/p>\n\n\n\n<h3 id=\"h-4-wire-ufw-into-docker-before-you-start-portainer\" class=\"wp-block-heading\">4. Binde UFW in Docker ein, bevor du Portainer startest<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hier kommt der Teil, den die meisten Anleitungen ans Ende stellen, wo es zu sp\u00e4t ist: Wenn Docker einen Port ver\u00f6ffentlicht, wird der Verkehr dorthin umgeleitet, bevor er die Ketten erreicht, die UFW filtert, sodass ein ver\u00f6ffentlichter Port aus dem \u00f6ffentlichen Internet erreichbar ist, selbst wenn UFW ihn als abgelehnt anzeigt. (Die vollst\u00e4ndige Erkl\u00e4rung findest du <a href=\"#h-how-do-you-stop-docker-from-bypassing-your-firewall\">unten<\/a>.) Sobald du Portainer startest, ist sein Port 9443 \u00f6ffentlich \u2014 genau w\u00e4hrend des f\u00fcnfmin\u00fctigen Fensters, in dem jeder, der ihn zuerst erreicht, das Admin-Konto erstellen kann. Also bring <em>zuerst<\/em> die Firewall in Ordnung.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn UFW noch nicht aktiv ist, erlaube SSH und aktiviere es. (Wenn dein SSH auf einem benutzerdefinierten Port l\u00e4uft, erlaube diesen Port statt 22, sonst ist das der Schritt, in dem du dich selbst aussperrst.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 22\/tcp\nsudo ufw enable<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Installiere dann <a target=\"_blank\" href=\"https:\/\/github.com\/chaifeng\/ufw-docker\">chaifeng\/ufw-docker<\/a>, ein Drittanbieter-Tool, das die n\u00f6tigen Regeln an <strong>\/etc\/ufw\/after.rules<\/strong> anh\u00e4ngt, sodass der Verkehr zu Dockers ver\u00f6ffentlichten Ports durch die <strong>DOCKER-USER<\/strong>-Kette gefiltert wird. Die folgenden Befehle fixieren das Release <strong>251123<\/strong> des Projekts (November 2025), statt vom sich st\u00e4ndig \u00e4ndernden master-Branch zu ziehen, und sie verwenden curl, das du bereits in Schritt 2 installiert hast:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo curl -fsSL -o \/usr\/local\/bin\/ufw-docker \\\n  https:\/\/github.com\/chaifeng\/ufw-docker\/raw\/251123\/ufw-docker\nsudo chmod +x \/usr\/local\/bin\/ufw-docker\nsudo ufw-docker install\nsudo ufw reload<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nach dem Neuladen werden ver\u00f6ffentlichte Container-Ports durch UFW gefiltert. Wenn deine Richtlinie f\u00fcr gerouteten Verkehr eingehende Verbindungen ablehnt und keine bestehende Regel den Port erlaubt, bleiben \u00f6ffentliche Verbindungen blockiert, bis du sie ausdr\u00fccklich erlaubst. (Das ufw-docker-Projekt weist darauf hin, dass ein Neustart des Servers hilft, falls die Regeln nach einem UFW-Neustart nicht greifen.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Genehmige jetzt vorab <em>deinen eigenen<\/em> Zugriff auf die Portainer-Oberfl\u00e4che. Ersetze <strong><code>YOUR_HOME_IP<\/code><\/strong> durch die \u00f6ffentliche IP, von der aus du surfen wirst:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw route allow proto tcp from YOUR_HOME_IP to any port 9443<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit dieser Regel, die schon vor dem Start von Portainer greift, ist IPv4-Verkehr zur Oberfl\u00e4che von deiner IP erlaubt und von keiner anderen \u2014 auch w\u00e4hrend des Fensters f\u00fcr den ersten Admin. Die Regel in dieser Form deckt nur IPv4 ab. Laut der Dokumentation von ufw-docker unterst\u00fctzt das Tool auch IPv6-Netzwerke und aktualisiert bei Bedarf <strong>\/etc\/ufw\/after6.rules<\/strong>, aber verlass dich nicht blind darauf: Wenn dein VPS auf einer \u00f6ffentlichen IPv6-Adresse antwortet, f\u00fchre den Test von au\u00dfen aus dem Firewall-Abschnitt auch \u00fcber IPv6 durch, bevor du ihm vertraust. Der Haken: Die meisten Heimanschl\u00fcsse \u00e4ndern gelegentlich ihre IP, sodass du die Regel sp\u00e4ter eventuell aktualisieren musst. Wenn dich das st\u00f6rt, ist ein VPN vor der Oberfl\u00e4che die sauberere langfristige L\u00f6sung (behandelt im Abschnitt zur Absicherung).<\/p>\n\n\n\n<h3 id=\"h-5-create-a-persistent-volume-for-portainer-s-data\" class=\"wp-block-heading\">5. Erstelle ein persistentes Volume f\u00fcr Portainers Daten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fchre als N\u00e4chstes <strong><code>sudo docker volume create portainer_data<\/code><\/strong> aus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Speichern der Portainer-Datenbank auf einem Docker-Volume (nicht im Container) bedeutet, dass ein Portainer-Upgrade deine Konfiguration nicht l\u00f6scht.<\/p>\n\n\n\n<h3 id=\"h-6-run-portainer-community-edition\" class=\"wp-block-heading\">6. F\u00fchre die Portainer Community Edition aus<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist der Befehl aus <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/start\/install-ce\/server\/docker\/linux\">Portainers Linux-Installationsanleitung<\/a>, abz\u00fcglich eines Flags: Die offizielle Version ver\u00f6ffentlicht au\u00dferdem Port 8000, einen TCP-Tunnel, der nur ben\u00f6tigt wird, wenn du sp\u00e4ter entfernte Umgebungen \u00fcber Edge Agents verbindest. Eine Einzel-Host-Installation braucht ihn nicht, also lassen wir ihn weg:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker run -d \\\n  -p 9443:9443 \\\n  --name portainer \\\n  --restart=always \\\n  -v \/var\/run\/docker.sock:\/var\/run\/docker.sock \\\n  -v portainer_data:\/data \\\n  portainer\/portainer-ce:lts<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Lass uns das Zeile f\u00fcr Zeile aufschl\u00fcsseln:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>-d<\/code> <\/strong>f\u00fchrt den Container im Hintergrund (detached) aus.<\/li>\n\n\n\n<li><strong><code>-p 9443:9443<\/code><\/strong> ist die Portainer-Web-Oberfl\u00e4che \u00fcber HTTPS \u2014 der Port, den du in Schritt 4 f\u00fcr deine IP freigegeben hast.<\/li>\n\n\n\n<li><strong><code>--restart=always<\/code><\/strong> startet Portainer nach einem Neustart wieder.<\/li>\n\n\n\n<li>Die <strong><code>-v<\/code><\/strong>-Flags sind die Socket-Bindung und das persistente Volume aus Schritt 5.<\/li>\n\n\n\n<li><strong><code>:lts<\/code><\/strong> bindet dich an Portainers Release-Linie mit Long Term Support \u2014 das Tag, das Portainers eigene Installationsanleitung verwendet.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"h-7-open-the-ui-and-create-your-admin-account\" class=\"wp-block-heading\">7. \u00d6ffne die Oberfl\u00e4che und erstelle dein Admin-Konto<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Richte deinen Browser auf<strong> https:\/\/YOUR_VPS_IP:9443<\/strong> (von der IP-Adresse aus, die du in Schritt 4 freigegeben hast).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Klicke dich durch die Warnung des selbstsignierten Zertifikats. Du landest auf dem Bildschirm \u201eErstellen des ersten Administrator-Benutzers\u201c. W\u00e4hle einen Benutzernamen, der nicht admin ist, setze ein starkes Passwort und bewahre es an einem sicheren Ort auf. Und &#8230; du bist drin!<\/p>\n\n\n\n<h2 id=\"h-why-did-portainer-just-time-out-on-me\" class=\"wp-block-heading\">Warum Ist Portainer Bei Mir Gerade In Ein Timeout Gelaufen?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Weil Portainer genau f\u00fcnf Minuten wartet, bis jemand es bei der ersten Installation beansprucht. Wenn niemand das tut, sperrt es die T\u00fcr ab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W\u00f6rtlich aus der <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/faqs\/installing\/i-just-installed-portainer-but-i-cant-access-the-ui-how-do-i-fix-this\">eigenen FAQ von Portainer<\/a>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201e<em>Als Sicherheitsma\u00dfnahme wartet Portainer nach der ersten Installation 5 Minuten darauf, dass ein Administratorbenutzer erstellt wird (Teil der Ersteinrichtung). Wenn innerhalb dieser 5 Minuten kein Benutzer erstellt wird, h\u00f6rt der Portainer Server auf, auf Anfragen zu lauschen.<\/em>\u201c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcbersetzung: Wenn du Schritt 6 damit verbracht hast, ein Sandwich zu machen, weigert sich deine Installation jetzt, mit dir zu sprechen \u2014 und du hast nichts falsch gemacht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die L\u00f6sung ist einfach. F\u00fchre <strong><code>sudo docker restart portainer<\/code><\/strong> aus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dies startet den Container neu, gibt dir ein weiteres f\u00fcnfmin\u00fctiges Fenster und bringt dich auf den Bildschirm zum Erstellen des Admins. Wiederhole dies nach Bedarf. Willkommen beim <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/self-hosting\/\">Selbsthosting<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du die Installation f\u00fcr eine Flotte skriptest (Ansible, Terraform, eine Deploy-Pipeline), akzeptiert Portainer das Flag <strong><code>--admin-password-file<\/code><\/strong>, das den Admin-Benutzer beim ersten Start des Containers aus einer Datei erstellt \u2014 so gibt es keinen Admin-Erstellungsbildschirm, mit dem du um die Wette laufen musst. Portainers <a href=\"https:\/\/docs.portainer.io\/advanced\/cli\" target=\"_blank\">Dokumentation zur CLI-Konfiguration<\/a> beschreibt die Syntax. F\u00fcr eine einmalige VPS-Installation ist der Neustart-Trick in Ordnung.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-stop-docker-from-bypassing-your-firewall\" class=\"wp-block-heading\">Wie Verhinderst Du, Dass Docker Deine Firewall Umgeht?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1229\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall.webp\" alt=\"Docker-Firewall-Vergleich: Ohne DOCKER-USER-Regel ist uneingeschr\u00e4nkter Zugriff auf Container m\u00f6glich\" class=\"wp-image-82013 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-300x230.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1024x787.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-768x590.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1536x1180.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-600x461.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1200x922.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-730x561.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1460x1121.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-784x602.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1568x1204.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-877x674.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1229;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das hast du bereits in Schritt 4 getan. Hier erf\u00e4hrst du, was tats\u00e4chlich passiert ist, wie du Ports gezielt \u00f6ffnest und wie du nachweist, dass es funktioniert hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Problem: Wenn du den Port eines Containers mit <strong><code>-p 80:80<\/code><\/strong> ver\u00f6ffentlichst, ist dieser Port aus dem \u00f6ffentlichen Internet erreichbar, auch wenn <strong>ufw status <\/strong>Port 80 als abgelehnt anzeigt. Laut <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/packet-filtering-firewalls\/\">Dockers Dokumentation zur Paketfilterung<\/a> gilt: \u201eDocker leitet den Containerverkehr in der NAT-Tabelle, was bedeutet, dass Pakete umgeleitet werden, bevor sie die INPUT- und OUTPUT-Ketten erreichen, die UFW verwendet.\u201c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">UFW ist nicht defekt. Es steht nur im falschen Flur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die L\u00f6sung, auf die Docker selbst verweist, ist die <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/firewall-iptables\/\"><strong>DOCKER-USER<\/strong> iptables-Kette<\/a> \u2014 eine Kette, die Docker eigens f\u00fcr benutzerdefinierte Regeln anlegt und die vor den Regeln in Dockers eigenen Ketten verarbeitet wird. Das Skript <strong>ufw-docker<\/strong>, das du in Schritt 4 installiert hast, bindet UFW in diese Kette ein, indem es einen Regelblock (zwischen den Markierungen <strong># BEGIN UFW AND DOCKER<\/strong> und <strong># END UFW AND DOCKER<\/strong>) an <strong>\/etc\/ufw\/after.rules<\/strong> anh\u00e4ngt, sodass er mit dem Rest deiner UFW-Konfiguration geladen wird.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Um einen Container-Port gezielt \u00f6ffentlich zug\u00e4nglich zu machen<\/strong> \u2014 etwa eine Web-App auf Container-Port 80 \u2014, verwende eine Route-Regel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw route allow proto tcp from any to any port 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Eine Falle, auf die die ufw-docker-Dokumentation hinweist: Die Regel verwendet den <em>Container<\/em>-Port, nicht den Host-Port. Wenn du mit <strong><code>-p 8080:80<\/code><\/strong> ver\u00f6ffentlicht hast, ist die obige Regel (Port 80) die richtige, nicht Port 8080.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zur \u00dcberpr\u00fcfung von au\u00dfen<\/strong> teste von einem Netzwerk aus, das nicht auf deiner Freigabeliste steht \u2014 ein Handy-Hotspot funktioniert. Dies sollte in eine Zeit\u00fcberschreitung laufen, statt Portainers Anmeldeseite zur\u00fcckzugeben:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -k --max-time 5 https:\/\/YOUR_VPS_IP:9443\n\n# For IPv6, enclose the address in square brackets:\ncurl -k --max-time 5 'https:\/\/[YOUR_VPS_IPV6]:9443'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fchre denselben Befehl von der IP aus, die du in Schritt 4 freigegeben hast, und du solltest HTML zur\u00fcckbekommen. Wenn UFW \u201edenied\u201c meldet, ist das eine Behauptung; eine Zeit\u00fcberschreitung aus einem fremden Netzwerk ist ein Beweis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Um alles r\u00fcckg\u00e4ngig zu machen<\/strong>, f\u00fchre <strong><code>sudo ufw-docker uninstall<\/code><\/strong> aus, was laut Projektdokumentation deine UFW-Konfiguration wiederherstellt und die installierten Dateien l\u00f6scht, und dann <strong><code>sudo ufw reload<\/code><\/strong>. Du kannst auch den Block zwischen den Markierungen <strong># BEGIN UFW AND DOCKER<\/strong> und <strong># END UFW AND DOCKER<\/strong> in <strong>\/etc\/ufw\/after.rules<\/strong> von Hand entfernen und UFW neu laden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das erwischt scharfsinnige Ingenieure auf privaten Boxen und Produktionsservern gleicherma\u00dfen: UFW sagt das eine, das \u00f6ffentliche Internet etwas anderes, und die Wahrheit liegt in iptables. Wenn du lieber m\u00f6chtest, dass Portainer \u00fcberhaupt keinen \u00f6ffentlichen Port hat, <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/how-to\/how-to-secure-your-portainer-installation\">schalte einen VPN-Tunnel davor<\/a>, etwa WireGuard.<\/p>\n\n\n\n<h2 id=\"h-what-should-you-lock-down-right-after-the-first-login\" class=\"wp-block-heading\">Was Solltest Du Direkt Nach Dem Ersten Login Absichern?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Du bist drin. F\u00fcnf Dinge, die du erledigen solltest, bevor du diesen Browser-Tab schlie\u00dft \u2014 die ersten vier stammen direkt aus Portainers eigenem <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/how-to\/how-to-secure-your-portainer-installation\">Sicherheitsleitfaden<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Aktiviere Force HTTPS only.<\/strong> Die Installation in diesem Leitfaden ver\u00f6ffentlicht nur Port 9443, sodass von vornherein kein HTTP-Port offen ist. Wenn du den Schalter <em>Force HTTPS only<\/em> unter <em>Settings \u2192 SSL Certificate<\/em> umlegst, wird das festgeschrieben: Laut <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/admin\/settings\/general\">Portainers Dokumentation zu den Einstellungen<\/a> deaktiviert er das Lauschen auf dem alten HTTP-Port (9000) vollst\u00e4ndig, sodass ein k\u00fcnftiges erneutes Bereitstellen mit <strong><code>-p 9000:9000<\/code><\/strong> keinen unverschl\u00fcsselten Weg wieder \u00f6ffnen kann.<\/li>\n\n\n\n<li><strong>Ersetze das selbstsignierte Zertifikat.<\/strong> Lade ein von dir generiertes Zertifikat hoch oder schalte einen NGINX-Reverse-Proxy mit einem Let&#8217;s Encrypt-Zertifikat vor Portainer. Nach dem ersten Tag ist das st\u00e4ndige Durchklicken der Browserwarnung eine Gewohnheit, die du bereuen wirst.<\/li>\n\n\n\n<li><strong>Verwende einen echten Admin-Benutzernamen.<\/strong> Wenn du den Standard-Benutzernamen admin verwendest, muss ein Angreifer eine Zugangsangabe weniger herausfinden. W\u00e4hle etwas, das spezifisch f\u00fcr dich ist.<\/li>\n\n\n\n<li><strong>Beschr\u00e4nke die Oberfl\u00e4che auf ein VPN.<\/strong> Portainer hinter einem WireGuard-VPN zu betreiben, ist das Muster, auf das Portainers Sicherheitsleitfaden verweist. Ein 9443, das auf deine Quell-IP beschr\u00e4nkt ist (Schritt 4), ist gut. Ein 9443, das nur in einem privaten Netzwerk erreichbar ist, ist besser.<\/li>\n\n\n\n<li><strong>Pr\u00fcfe das Docker-Socket-Binding.<\/strong> Alles mit Zugriff auf <strong><code>\/var\/run\/docker.sock<\/code><\/strong> steuert den Docker-Daemon und dar\u00fcber den Host. Binde den Socket <em>nicht<\/em> leichtfertig in andere Container ein. Jedes zus\u00e4tzliche Binding ist ein neuer Weg zum Host. Wenn ein Container behauptet, den Socket zu ben\u00f6tigen, frag nach dem Warum \u2014 und erw\u00e4ge einen Socket-Proxy, wenn die Antwort \u201ezur \u00dcberwachung\u201c lautet.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"h-how-do-you-actually-use-portainer-day-to-day\" class=\"wp-block-heading\">Wie Nutzt Du Portainer Im Alltag?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Vorteil der Installation von Portainer ist der Tag, an dem du aufh\u00f6rst, dich per SSH einzuloggen, um einen widerspenstigen Container neu zu starten, und stattdessen einfach auf einen Knopf klickst. Der gr\u00f6\u00dfere Vorteil ist das Stack-Management.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Portainer-Stack ist eine Multi-Container-App, die durch eine Docker Compose-Datei definiert wird. Portainer kann unterst\u00fctzte Docker Compose-Konfigurationen auf vier Wegen als Stacks bereitstellen, die in der <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/user\/docker\/stacks\/add\">offiziellen Stacks-Dokumentation<\/a> aufgef\u00fchrt sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>F\u00fcge Compose in den Web-Editor ein<\/li>\n\n\n\n<li>Lade eine Compose-Datei hoch<\/li>\n\n\n\n<li>Richte Portainer auf ein Git-Repository aus<\/li>\n\n\n\n<li>Stelle aus einer benutzerdefinierten Vorlage bereit<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2560\" height=\"1181\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/05-How-Do-You-Actually-Use-Portainer-Day-to-Day_-scaled.gif\" alt=\"Portainer.io-Dashboard mit Stack-Details, Container-Tabelle, Logs und Statistiken\" class=\"wp-image-82014 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1181;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Der Git-Pfad ist der entscheidende. Du richtest Portainer auf ein \u00f6ffentliches oder authentifiziertes Repo und einen Pfad zu <strong>docker-compose.yml<\/strong> ein und aktivierst dann GitOps-Updates. Portainer fragt das Repo entweder in einem von dir festgelegten Abrufintervall ab oder gibt dir eine Webhook-URL, die du bei deinem Git-Host hinterlegst (zum Beispiel ausgel\u00f6st von einer GitHub Action). Wenn sich die Compose-Datei upstream \u00e4ndert, zieht Portainer sie automatisch und stellt neu bereit. Und ja, das funktioniert in der Community Edition \u2014 auf der Seite der Stacks-Dokumentation tr\u00e4gt nur die Option f\u00fcr Volumes mit relativen Pfaden die Kennzeichnung Business Edition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist die selbstgehostete Version von \u201edeploy on push\u201c, ohne f\u00fcr dieses Privileg eine PaaS zu bezahlen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die kleineren t\u00e4glichen Erfolge summieren sich ebenfalls. Denk an Logs in einem Panel, statt sie \u00fcber die Kommandozeile zu verfolgen, Neustarts per Mausklick, das Neuaufbauen eines Stacks per Knopfdruck und Ressourcendiagramme, die du in drei Sekunden \u00fcberfliegen kannst, statt Docker Stats auszuf\u00fchren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du sp\u00e4ter \u00fcber Edge Agents entfernte Hosts hinzuf\u00fcgst, kommt Port 8000 wieder ins Spiel \u2014 die <a href=\"#h-can-portainer-manage-multiple-docker-hosts\">FAQ unten<\/a> erkl\u00e4rt das erneute Bereitstellen und die Firewall-Regel.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-back-up-portainer-and-your-containers\" class=\"wp-block-heading\">Wie Sicherst Du Portainer Und Deine Container?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Volume ist Persistenz, kein Backup. Das Volume <strong>portainer_data<\/strong> aus Schritt 5 \u00fcbersteht Container-Upgrades, liegt aber auf derselben Festplatte wie alles andere \u2014 ein echter Backup-Plan besteht daher aus drei Teilen, und alle drei verlassen den VPS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Portainers eigene Konfiguration.<\/strong> Gehe in der Oberfl\u00e4che zu <em>Settings \u2192 Back up Portainer<\/em>, behalte die Standardoption <em>Download backup file<\/em> bei und klicke auf <em>Download backup<\/em>. Laut <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/admin\/settings\/general\">Portainers Dokumentation zu den Einstellungen<\/a> l\u00e4dt das ein tar.gz-Archiv mit allem herunter, was Portainer auf seinem \/data-Volume speichert, optional mit Passwort verschl\u00fcsselt, und dieses Archiv ist alles, was du brauchst, um Portainer wiederherzustellen. Beim Umfang ist die Dokumentation ebenso klar: Es sichert <em>nur<\/em> die Portainer-Konfiguration, nicht die Container, Stacks oder Volumes, die du bereitgestellt hast. (Geplante Backups nach S3 gibt es, aber nur in der Business Edition \u2014 trag dir in der CE eine wiederkehrende Erinnerung in den Kalender ein.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Deine Anwendungsdaten.<\/strong> Dockers <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/storage\/volumes\/\">Dokumentation zu Volumes<\/a> bezeichnet benannte Volumes als bevorzugte Methode, um Containerdaten dauerhaft zu speichern, und als einfacher zu sichern oder zu migrieren als Bind Mounts. Ein schreibgesch\u00fctztes Mount hindert nur den <em>Backup<\/em>-Container am Schreiben \u2014 die App selbst kann w\u00e4hrend der Archivierung weiterhin in das Volume schreiben und dir eine inkonsistente Kopie liefern. Stoppe also zuerst den Container der App (<strong><code>sudo docker stop myapp<\/code><\/strong>) oder nutze den unterst\u00fctzten Backup-Mechanismus der App selbst. Binde dann das Volume schreibgesch\u00fctzt in einen Wegwerf-Container ein, pack es mit tar zusammen und starte die App danach wieder (setze deine eigenen Namen ein):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker run --rm \\\n  -v myapp_data:\/source:ro \\\n  -v \"$PWD\":\/backup \\\n  alpine tar czf \/backup\/myapp_data.tgz -C \/source .<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bevorzuge bei Datenbanken das eigene Dump-Tool der Datenbank (pg_dump, mysqldump), statt laufende Datendateien zu kopieren, damit du keine Datei mitten im Schreibvorgang archivierst. Schaffe die Archive dann regelm\u00e4\u00dfig von der Box weg \u2014 per rsync oder scp auf eine andere Maschine oder per Upload in einen Objektspeicher. Ein Backup, das auf der Festplatte liegt, die es sichert, verschwindet zusammen mit dieser Festplatte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Deine Compose-Dateien und Secrets.<\/strong> Wenn du Stacks aus Git bereitstellst, liegen die Compose-Dateien bereits au\u00dferhalb des Hosts. Was Git <em>nicht<\/em> enth\u00e4lt, ist alles, was du nie committet hast: .env-Dateien, API-Schl\u00fcssel und Passw\u00f6rter, die du beim Deployment angegeben hast. Per Bind Mount eingebundene Verzeichnisse liegen ebenfalls au\u00dferhalb des obigen Volume-Backups. Erfasse diese separat und sichere sie verschl\u00fcsselt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Teste dann die Wiederherstellung, bevor du sie brauchst.<\/strong> Laut Portainers Dokumentation funktioniert eine Wiederherstellung der Konfiguration nur auf einer frischen Instanz: Stelle einen neuen Portainer-Container mit einem leeren Daten-Volume bereit (ein Wegwerf-VPS oder dein Laptop reichen), w\u00e4hle w\u00e4hrend der Ersteinrichtung <em>Restore Portainer from backup<\/em> und pr\u00fcfe, ob du dich mit deinen alten Zugangsdaten anmelden kannst und deine Stack-Definitionen siehst. Diese \u00dcbung deckt nur Teil 1 ab \u2014 Portainers Konfiguration. Teil 2 und 3 brauchen einen eigenen Test pro App: Stelle ein Archiv in ein frisches Volume wieder her, starte die App damit und pr\u00fcfe, ob die Daten tats\u00e4chlich da sind. Ein ungetestetes Backup ist eine Hoffnung mit Dateinamen.<\/p>\n\n\n\n<h2 id=\"h-what-does-portainer-cost-and-when-does-free-stop-being-free\" class=\"wp-block-heading\">Was Kostet Portainer? (Und Wann Ist Kostenlos Nicht Mehr Kostenlos?)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer ist gleich doppelt kostenlos. Die Community Edition ist kostenlos und <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/open-source-vs-proprietary\/\">Open Source<\/a> (zlib-Lizenz), ohne dass ein Lizenzschl\u00fcssel erforderlich ist. Und die Portainer Business Edition ist <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/take-3\">f\u00fcr bis zu 3 Knoten dauerhaft kostenlos<\/a>: voller Business-Funktionsumfang, kein Zeitlimit, keine Kreditkarte. Statt zu bezahlen, registrierst du dich f\u00fcr einen kostenlosen Lizenzschl\u00fcssel.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Edition<\/strong><\/th><th><strong>Kosten<\/strong><\/th><th><strong>Knoten<\/strong><\/th><th><strong>Am besten f\u00fcr<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Community Edition<\/td><td>Kostenlos, Open Source<\/td><td>Keine Lizenzierung nach Knoten<\/td><td>Pers\u00f6nliche Projekte, Homelab, Selbsthoster mit einem einzelnen VPS<\/td><\/tr><tr><td>Business Edition \u2014 3 Knoten kostenlos<\/td><td>Kostenlos, ohne Zeitlimit<\/td><td>Bis zu 3<\/td><td>Kleine Homelabs, die Business-Funktionen wie RBAC m\u00f6chten<\/td><\/tr><tr><td>Home &amp; Student<\/td><td>155 $\/Jahr<\/td><td>Bis zu 15<\/td><td>Gr\u00f6\u00dfere Homelabs und Studierende; ausschlie\u00dflich nicht kommerziell<\/td><\/tr><tr><td>Business Starter<\/td><td>Ab 105 $\/Monat<\/td><td>5, 10 oder 15<\/td><td>Kleine Teams, die echte Infrastruktur verwalten (Community-Support)<\/td><\/tr><tr><td>Business Scale<\/td><td>Ab 209 $\/Monat<\/td><td>5 bis 35<\/td><td>Wachsende Teams, die 9&#215;5-Support ben\u00f6tigen<\/td><\/tr><tr><td>Enterprise<\/td><td>Angebot<\/td><td>Individuell<\/td><td>Anforderungen an Compliance und priorisierten Support<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die Preise stammen von <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/pricing\">Portainers Preisseite<\/a> (Stand: August 2026); Starter und Scale erfordern eine j\u00e4hrliche Bindung.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Welche Variante solltest du also w\u00e4hlen? F\u00fcr einen einzelnen VPS mit einem Admin die <strong>Community Edition<\/strong>: Sie ist Open Source, erfordert keine Registrierung und kann alles in diesem Leitfaden, Git-Deployments eingeschlossen. Wenn du rollenbasierte Zugriffskontrolle (RBAC) f\u00fcr einen zweiten Benutzer m\u00f6chtest oder bereits zwei oder drei Boxen betreibst, nimm stattdessen die kostenlose Business-Stufe f\u00fcr 3 Knoten \u2014 es ist dieselbe Software mit freigeschalteten Business-Funktionen, kostenlos, solange du bei drei oder weniger Knoten bleibst. Die kostenpflichtigen Tarife lohnen sich erst, wenn du in einem Team echte Knotenzahlen verwaltest \u2014 und pr\u00fcfe die Support-Angaben, bevor du davon ausgehst, dass bezahlt auch Support bedeutet: Mit Stand August 2026 listet Portainers Preisseite Community-Support f\u00fcr den Starter-Tarif, 9&#215;5-Support mit Antwort am n\u00e4chsten Werktag ab dem Scale-Tarif und priorisierten Support f\u00fcr Enterprise auf.<\/p>\n\n\n\n<h2 id=\"h-should-you-add-portainer-or-skip-it\" class=\"wp-block-heading\">Solltest Du Portainer Hinzuf\u00fcgen Oder \u00dcberspringen?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hier ist die ehrliche Antwort in zwei S\u00e4tzen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 Wenn du diesen Server teilen, von Git aus bereitstellen oder in einem Jahr mehr als drei Container betreiben wirst, installiere Portainer, solange der Host frisch ist und sich deine Gewohnheiten noch darum herum bilden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u274c Wenn du eine ruhige App betreibst und dich im Terminal wohlf\u00fchlst, wirst du die Oberfl\u00e4che, die du nicht installiert hast, nicht vermissen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die eigentliche Frage ist nicht Portainer gegen kein Portainer. Es geht darum, ob Selbsthosting \u00fcberhaupt die richtige Entscheidung f\u00fcr dich ist \u2014 und das hast du beantwortet, als du diesen Tab ge\u00f6ffnet hast.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein 4-GB-VPS, Docker und Portainer CE reichen, um wirklich mit dem Selbsthosting zu beginnen: W\u00e4hle deine Apps aus, addiere ihre dokumentierten Anforderungen und lass das Arbeitsblatt \u2014 nicht die Wunschliste \u2014 entscheiden, wann die Box wachsen muss.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist kein schlechtes Angebot.<\/p>\n\n\n\n<h2 id=\"h-frequently-asked-questions-about-docker-and-portainer\" class=\"wp-block-heading\">H\u00e4ufig Gestellte Fragen Zu Docker Und Portainer<\/h2>\n\n\n\n<h3 id=\"h-can-you-run-docker-on-a-vps\" class=\"wp-block-heading\">Kannst du Docker auf einem VPS betreiben?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja. Ein VPS mit Root-Zugriff ist einer der flexibelsten Orte, um Docker zu betreiben: Du installierst Docker Engine auf dem Linux-Betriebssystem des Servers, und jede App l\u00e4uft in ihrem eigenen Container. Der Unterschied, \u00fcber den viele stolpern: Der VPS ist der gemietete virtuelle Server, w\u00e4hrend Docker die Software ist, die du darauf ausf\u00fchrst, um Anwendungen in Containern zu isolieren. Jeder VPS mit Root-Zugriff und genug RAM f\u00fcr deine Container funktioniert \u2014 <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/docker\/\">DreamHost VPS Hosting<\/a> bietet sogar ein vorinstalliertes Docker + Portainer Image an.<\/p>\n\n\n\n<h3 id=\"h-what-is-portainer-used-for\" class=\"wp-block-heading\">Wof\u00fcr wird Portainer verwendet?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer wird verwendet, um Docker-, Docker-Swarm- und Kubernetes-Container \u00fcber eine Web-Oberfl\u00e4che zu verwalten. Es l\u00e4uft selbst als Docker-Container, verbindet sich mit dem Docker-Socket des Hosts und bietet dir eine Browseransicht und Steuerungsoberfl\u00e4che f\u00fcr jeden anderen Container auf dem Host \u2014 Starten und Stoppen von Containern, Bereitstellen von Multi-Container-Stacks, Anzeigen von Protokollen und Verwalten des Benutzerzugriffs, ohne dich per SSH einzuloggen.<\/p>\n\n\n\n<h3 id=\"h-do-i-need-portainer-if-i-have-docker\" class=\"wp-block-heading\">Brauche ich Portainer, wenn ich Docker habe?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nein, du brauchst Portainer nicht, um Docker zu verwenden. Docker funktioniert vollst\u00e4ndig \u00fcber das Terminal, und viele Selbsthoster installieren nie eine Benutzeroberfl\u00e4che dar\u00fcber.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer lohnt sich, wenn du mehr als zwei oder drei Container jonglierst, den Zugang mit jemandem teilst, der nicht st\u00e4ndig im Terminal arbeitet, oder Stack-Updates aus einem Git-Repository bereitstellst. Verzichte darauf, wenn du ein oder zwei stabile Container betreibst und dich mit Docker Compose wohlf\u00fchlst.<\/p>\n\n\n\n<h3 id=\"h-what-port-does-portainer-run-on\" class=\"wp-block-heading\">Auf welchem Port l\u00e4uft Portainer?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer stellt seine Web-Oberfl\u00e4che standardm\u00e4\u00dfig \u00fcber HTTPS auf Port 9443 bereit. Der offizielle Installationsbefehl in <a href=\"https:\/\/docs.portainer.io\/start\/install-ce\/server\/docker\/linux\" target=\"_blank\">Portainers Linux-Installationsanleitung<\/a> ver\u00f6ffentlicht au\u00dferdem Port 8000, einen TCP-Tunnel, den nur Edge Agents nutzen, wenn du sp\u00e4ter entfernte Docker-Hosts verbindest \u2014 er ist optional, weshalb die Einzel-Host-Installation in diesem Leitfaden das Flag <strong><code>-p 8000:8000<\/code><\/strong> komplett wegl\u00e4sst.<\/p>\n\n\n\n<h3 id=\"h-how-much-ram-does-portainer-need\" class=\"wp-block-heading\">Wie viel RAM ben\u00f6tigt Portainer?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Portainers aktuelle Systemanforderungen nennen kein RAM-Minimum \u2014 der Server l\u00e4uft als schlanker Container, und die in der Dokumentation genannten Leistungsempfehlungen betreffen den Festplattenspeicher, nicht den Arbeitsspeicher. Bemiss deinen RAM, indem du die dokumentierten Anforderungen des Betriebssystems, des Docker-Daemons und jeder App, die du betreiben willst, addierst, und lass dann Reserven f\u00fcr Lastspitzen.<br><br>Bei DreamHost hat unser Einstiegstarif f\u00fcr <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/de\/hosting\/vps\/\">VPS Hosting<\/a>, Stack 4, 4 GB RAM \u2014 ein Ausgangspunkt f\u00fcr einen kleinen Stack von Nebenprojekt-Containern wie <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/ghost-self-hosted\/\">Ghost<\/a> oder <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/n8n-self-hosted\/\">n8n<\/a>. Ob 4 GB ausreichen, h\u00e4ngt von den Apps ab, die du tats\u00e4chlich betreibst; wenn die Rechnung dar\u00fcber hinausw\u00e4chst, kannst du auf einen gr\u00f6\u00dferen Stack-Tarif wechseln.<\/p>\n\n\n\n<h3 id=\"h-is-portainer-free\" class=\"wp-block-heading\">Ist Portainer kostenlos?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja, sogar doppelt. Die Portainer Community Edition ist kostenlos und <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/open-source-vs-proprietary\/\">Open Source<\/a>, ohne dass ein Lizenzschl\u00fcssel erforderlich ist. Die Portainer Business Edition (die Funktionen wie rollenbasierte Zugriffskontrolle hinzuf\u00fcgt) ist f\u00fcr bis zu 3 Knoten ebenfalls kostenlos, mit vollem Funktionsumfang und ohne Zeitlimit; statt zu bezahlen, registrierst du dich f\u00fcr einen kostenlosen Lizenzschl\u00fcssel. Ab mehr als drei Knoten beginnt die Business-Preisgestaltung laut <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/pricing\">Portainers Preisseite<\/a> im Starter-Tarif bei 105 $\/Monat (Stand: August 2026), und eine Home &amp; Student-Lizenz f\u00fcr 155 $\/Jahr deckt nicht kommerzielle Homelabs mit bis zu 15 Knoten ab.<\/p>\n\n\n\n<h3 id=\"h-can-portainer-manage-multiple-docker-hosts\" class=\"wp-block-heading\">Kann Portainer mehrere Docker-Hosts verwalten?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja, Portainer verwaltet mehrere Docker-Hosts \u00fcber Agents und Edge Agents. Der Standard-Agent lauscht auf jedem entfernten Host auf Port 9001; Edge Agents bauen stattdessen eine ausgehende Verbindung zum Tunnel-Port 8000 des Portainer Servers auf und ben\u00f6tigen laut Portainers Anforderungsdokumentation selbst keine offenen eingehenden Ports. F\u00fcr Selbsthoster mit einem einzelnen VPS ist nichts davon n\u00f6tig \u2014 deshalb l\u00e4sst die Installation in diesem Leitfaden das Flag f\u00fcr Port 8000 weg, das Portainers offizieller Befehl enth\u00e4lt. An dem Tag, an dem du eine entfernte Umgebung \u00fcber einen Edge Agent verbindest, stellst du Portainer mit zus\u00e4tzlichem <strong><code>-p 8000:8000<\/code><\/strong> neu bereit und erlaubst dann Container-Port 8000 durch UFW von der \u00f6ffentlichen ausgehenden IP jedes Edge Agents, wobei du hier <strong><code>EDGE_AGENT_IP<\/code><\/strong> ersetzt: <strong><code>sudo ufw route allow proto tcp from EDGE_AGENT_IP to any port 8000<\/code><\/strong>.<\/p>\n\n\n\n<h3 id=\"h-does-docker-bypass-ufw-on-a-vps\" class=\"wp-block-heading\">Umgeht Docker UFW auf einem VPS?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja, Docker umgeht UFW standardm\u00e4\u00dfig, weil Docker den Containerverkehr auf der iptables-NAT-Ebene verwaltet, die vor den INPUT- und OUTPUT-Ketten von UFW liegt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Laut der <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/packet-filtering-firewalls\/\">Dokumentation zur Paketfilterung von Docker<\/a> \u201ewerden Pakete umgeleitet, bevor sie die INPUT- und OUTPUT-Ketten erreichen, die UFW verwendet.\u201c Die L\u00f6sung besteht darin, deine Regeln zur <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/firewall-iptables\/\"><strong>DOCKER-USER<\/strong> iptables-Kette<\/a> hinzuzuf\u00fcgen, und ein Community-Tool, um UFW darin einzubinden, ist <a target=\"_blank\" href=\"https:\/\/github.com\/chaifeng\/ufw-docker\">chaifeng\/ufw-docker<\/a> \u2014 in diesem Leitfaden in Schritt 4 installiert, bevor Portainer \u00fcberhaupt startet.<\/p>\n\n\n\n\n\n\n\n\n\n<div class=\"article-cta-shared article-cta-small article-cta--product\">\n\t<div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a-877x522.webp 1x, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a.webp 2x\"  \/><\/div>\n\n\t<a href='https:\/\/www.dreamhost.com\/hosting\/vps\/' class='link-top' target='_blank' rel='noopener noreferrer'>\n\t\t<span>VPS<\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\" width=\"15\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\n\t<div class=\"content-btm\">\n\t\t<h2 class=\"h2--md\">\n\t\t\tOwn Your Entire Stack. Apps, AI, Databases, and More.\n\t\t<\/h2>\n\t\t<p class=\"p--md\">\n\t\t\tKeep every credential and conversation on a server you control, with NVMe speed and unmetered bandwidth built in.\n\t\t<\/p>\n\n\t\t        <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/vps\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Explore VPS Hosting Plans                    <\/a>\n\n\t<\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Kannst du Docker auf einem VPS betreiben?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ja. Ein VPS mit Root-Zugriff ist einer der flexibelsten Orte, um Docker zu betreiben: Du installierst Docker Engine auf dem Linux-Betriebssystem des Servers, und jede App l\u00e4uft in ihrem eigenen Container. Der VPS ist der gemietete virtuelle Server; Docker ist die Software, die du darauf ausf\u00fchrst, um Anwendungen in Containern zu isolieren.\"}},{\"@type\":\"Question\",\"name\":\"Wof\u00fcr wird Portainer verwendet?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Portainer wird verwendet, um Docker-, Docker-Swarm- und Kubernetes-Container \u00fcber eine Web-Oberfl\u00e4che zu verwalten. Es l\u00e4uft selbst als Docker-Container, verbindet sich mit dem Docker-Socket des Hosts und bietet dir eine Browseransicht und Steuerungsoberfl\u00e4che f\u00fcr jeden anderen Container auf dem Host \u2014 Starten und Stoppen von Containern, Bereitstellen von Multi-Container-Stacks, Anzeigen von Protokollen und Verwalten des Benutzerzugriffs, ohne dich per SSH einzuloggen.\"}},{\"@type\":\"Question\",\"name\":\"Brauche ich Portainer, wenn ich Docker habe?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Nein, du brauchst Portainer nicht, um Docker zu verwenden. Docker funktioniert vollst\u00e4ndig \u00fcber das Terminal, und viele Selbsthoster installieren nie eine Benutzeroberfl\u00e4che dar\u00fcber.\"}},{\"@type\":\"Question\",\"name\":\"Auf welchem Port l\u00e4uft Portainer?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Portainer stellt seine Web-Oberfl\u00e4che standardm\u00e4\u00dfig \u00fcber HTTPS auf Port 9443 bereit. Der offizielle Installationsbefehl ver\u00f6ffentlicht au\u00dferdem Port 8000, einen TCP-Tunnel, den nur Edge Agents nutzen, wenn du sp\u00e4ter entfernte Docker-Hosts verbindest \u2014 bei einer Einzel-Host-Installation ist er optional.\"}},{\"@type\":\"Question\",\"name\":\"Wie viel RAM ben\u00f6tigt Portainer?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Portainers aktuelle Systemanforderungen nennen kein RAM-Minimum \u2014 der Server l\u00e4uft als schlanker Container, und die in der Dokumentation genannten Leistungsempfehlungen betreffen den Festplattenspeicher, nicht den Arbeitsspeicher. Bemiss deinen RAM, indem du die dokumentierten Anforderungen des Betriebssystems, des Docker-Daemons und jeder App, die du betreiben willst, addierst, und lass dann Reserven f\u00fcr Lastspitzen.\"}},{\"@type\":\"Question\",\"name\":\"Ist Portainer kostenlos?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ja, sogar doppelt. Die Portainer Community Edition ist kostenlos und Open Source, ohne dass ein Lizenzschl\u00fcssel erforderlich ist. Die Portainer Business Edition ist f\u00fcr bis zu 3 Knoten ebenfalls kostenlos, mit vollem Funktionsumfang und ohne Zeitlimit; ab mehr als drei Knoten beginnt die Business-Preisgestaltung im Starter-Tarif bei 105 $\/Monat (Stand: August 2026).\"}},{\"@type\":\"Question\",\"name\":\"Kann Portainer mehrere Docker-Hosts verwalten?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ja, Portainer verwaltet mehrere Docker-Hosts \u00fcber Agents und Edge Agents. Der Standard-Agent lauscht auf jedem entfernten Host auf Port 9001; Edge Agents bauen stattdessen eine ausgehende Verbindung zum Tunnel-Port 8000 des Portainer Servers auf und ben\u00f6tigen selbst keine offenen eingehenden Ports.\"}},{\"@type\":\"Question\",\"name\":\"Umgeht Docker UFW auf einem VPS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ja, Docker umgeht UFW standardm\u00e4\u00dfig, weil Docker den Containerverkehr auf der iptables-NAT-Ebene verwaltet, die vor den INPUT- und OUTPUT-Ketten von UFW liegt. Die L\u00f6sung besteht darin, Regeln zur iptables-Kette DOCKER-USER hinzuzuf\u00fcgen; ein Community-Tool, um UFW darin einzubinden, ist chaifeng\/ufw-docker.\"}}]},{\"@type\":\"HowTo\",\"name\":\"So installierst du Docker und Portainer auf einem VPS\",\"description\":\"Installiere Docker und die Portainer Community Edition in sieben Schritten auf einem Ubuntu-VPS, von der Auswahl einer Linux-Distribution bis zur Erstellung des Admin-Kontos. Die Download- und Installationszeit h\u00e4ngt von deinem VPS und deiner Netzwerkverbindung ab.\",\"step\":[{\"@type\":\"HowToStep\",\"position\":1,\"name\":\"W\u00e4hle eine Linux-Distribution\",\"text\":\"Dieser Leitfaden verwendet Ubuntu 24.04 LTS. Docker Engine unterst\u00fctzt Ubuntu 22.04, 24.04 und 26.04 LTS (Stand: August 2026). Debian und Distributionen der RHEL-Familie wie AlmaLinux haben in der Docker-Dokumentation eigene Installationswege, und Portainers Installationsanleitung setzt voraus, dass SELinux auf Systemen der RHEL-Familie deaktiviert ist.\"},{\"@type\":\"HowToStep\",\"position\":2,\"name\":\"Installiere Docker aus dem offiziellen Repository\",\"text\":\"F\u00fchre nicht apt install docker.io aus \u2014 Dockers eigene Installationsanleitung f\u00fchrt docker.io unter den inoffiziellen Paketen auf, die zuerst deinstalliert werden m\u00fcssen. Entferne in Konflikt stehende Pakete, f\u00fcge Dockers GPG-Schl\u00fcssel und apt-Repository gem\u00e4\u00df der offiziellen Docker-Installationsdokumentation hinzu und f\u00fchre dann aus: sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\"},{\"@type\":\"HowToStep\",\"position\":3,\"name\":\"\u00dcberpr\u00fcfe, ob Docker l\u00e4uft\",\"text\":\"F\u00fchre sudo docker run hello-world aus. Wenn du die Nachricht \u201eHello from Docker!\u201c nicht erh\u00e4ltst, bring zuerst den Daemon in Ordnung, bevor du Portainer darauf aufsetzt.\"},{\"@type\":\"HowToStep\",\"position\":4,\"name\":\"Binde UFW in Docker ein, bevor du Portainer startest\",\"text\":\"Von Docker ver\u00f6ffentlichte Ports umgehen UFW standardm\u00e4\u00dfig. Aktiviere UFW (erlaube zuerst SSH), installiere das Skript chaifeng\/ufw-docker, f\u00fchre ufw-docker install aus, lade UFW neu und f\u00fcge eine Allow-Regel mit Quell-IP f\u00fcr den Container-Port 9443 hinzu \u2014 sudo ufw route allow proto tcp from YOUR_HOME_IP to any port 9443 \u2014 und zwar bevor Portainer startet, damit die Oberfl\u00e4che w\u00e4hrend des f\u00fcnfmin\u00fctigen Fensters f\u00fcr den ersten Admin nie \u00f6ffentlich erreichbar ist.\"},{\"@type\":\"HowToStep\",\"position\":5,\"name\":\"Erstelle ein persistentes Volume f\u00fcr Portainers Daten\",\"text\":\"F\u00fchre sudo docker volume create portainer_data aus. Das Speichern der Portainer-Datenbank auf einem Docker-Volume (nicht im Container) bedeutet, dass ein Portainer-Upgrade deine Konfiguration nicht l\u00f6scht.\"},{\"@type\":\"HowToStep\",\"position\":6,\"name\":\"F\u00fchre die Portainer Community Edition aus\",\"text\":\"Verwende den offiziellen Installationsbefehl aus Portainers Linux-Installationsanleitung, ohne den optionalen Tunnel-Port f\u00fcr den Edge Agent: sudo docker run -d -p 9443:9443 --name portainer --restart=always -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v portainer_data:\/data portainer\/portainer-ce:lts. Das Flag -d f\u00fchrt den Container im Hintergrund aus, -p 9443:9443 ist die Portainer-Web-Oberfl\u00e4che \u00fcber HTTPS, --restart=always startet Portainer nach einem Neustart wieder, die -v-Flags sind die Socket-Bindung und das persistente Volume aus Schritt 5, und das Tag :lts ist Portainers Release-Linie mit Long Term Support.\"},{\"@type\":\"HowToStep\",\"position\":7,\"name\":\"\u00d6ffne die Portainer-Oberfl\u00e4che und erstelle das Admin-Konto\",\"text\":\"Richte deinen Browser auf https:\/\/YOUR_VPS_IP:9443, und zwar von der IP-Adresse aus, die du in Schritt 4 freigegeben hast. Klicke dich durch die Warnung des selbstsignierten Zertifikats. Du landest auf dem Bildschirm \u201eErstellen des ersten Administrator-Benutzers\u201c. W\u00e4hle einen Benutzernamen, der nicht admin ist, setze ein starkes Passwort und bewahre es an einem sicheren Ort auf.\"}]}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fchre Docker Auf Einem VPS Mit Portainer&#8217;s Web-UI Vorne Aus. Installationsanleitung, Gr\u00f6\u00dfenanpassung, Sicherheit Und Die Fallstricke, Die Jede Installationsanleitung \u00dcberspringt. Ungef\u00e4hr 30 Minuten Von Anfang Bis Ende.<\/p>\n","protected":false},"author":2,"featured_media":82008,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","toc_headlines":"[[\"h-what-is-portainer-exactly\",\"Was Ist Genau Portainer?\"],[\"h-do-you-need-portainer-if-you-already-have-docker\",\"Brauchst Du Portainer, Wenn Du Schon Docker Hast?\"],[\"h-how-big-a-vps-do-you-need-to-run-docker-and-portainer\",\"Wie Gro\u00df Muss Ein VPS Sein, Um Docker Und Portainer Zu Betreiben?\"],[\"h-how-do-you-install-docker-and-portainer-on-a-vps\",\"Wie Installierst Du Docker Und Portainer Auf Einem VPS?\"],[\"h-why-did-portainer-just-time-out-on-me\",\"Warum Hat Portainer Gerade Bei Mir Eine Zeit\u00fcberschreitung Verursacht?\"],[\"h-how-do-you-stop-docker-from-bypassing-your-firewall\",\"Wie Stoppt Man Docker Daran, Die Firewall Zu Umgehen?\"],[\"h-what-should-you-lock-down-right-after-the-first-login\",\"Was Solltest Du Direkt Nach Dem Ersten Login Sichern?\"],[\"h-how-do-you-actually-use-portainer-day-to-day\",\"Wie Benutzt Du Portainer T\u00e4glich?\"],[\"h-what-does-portainer-cost-and-when-does-free-stop-being-free\",\"Was Kostet Portainer? (Und Wann Ist Kostenlos Nicht Mehr Kostenlos?)\"],[\"h-should-you-add-portainer-or-skip-it\",\"Solltest Du Portainer Hinzuf\u00fcgen Oder \u00dcberspringen?\"],[\"h-frequently-asked-questions-about-docker-and-portainer\",\"H\u00e4ufig Gestellte Fragen Zu Docker Und Portainer\"]]","hide_toc":false,"show_updated_at":"0","footnotes":""},"categories":[14495,14505,14497],"tags":[],"class_list":["post-82070","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-de","category-vps-hosting-de","category-webhosting-de"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung) - DreamHost Blog<\/title>\n<meta name=\"description\" content=\"Docker auf einem VPS mit Portainer&#039;s Web-UI vorneweg ausf\u00fchren. Installationsschritte, Gr\u00f6\u00dfenanpassung, Sicherheit und die T\u00fccken, die jeder Installationsleitfaden \u00fcberspringt. Ungef\u00e4hr 30 Minuten von Anfang bis Ende.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung) - DreamHost Blog\" \/>\n<meta property=\"og:description\" content=\"Docker auf einem VPS mit Portainer&#039;s Web-UI vorneweg ausf\u00fchren. Installationsschritte, Gr\u00f6\u00dfenanpassung, Sicherheit und die T\u00fccken, die jeder Installationsleitfaden \u00fcberspringt. Ungef\u00e4hr 30 Minuten von Anfang bis Ende.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-19T14:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-04T20:45:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"1095\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Dallas Kashuba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/dallas\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dallas Kashuba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung) - DreamHost Blog","description":"Docker auf einem VPS mit Portainer's Web-UI vorneweg ausf\u00fchren. Installationsschritte, Gr\u00f6\u00dfenanpassung, Sicherheit und die T\u00fccken, die jeder Installationsleitfaden \u00fcberspringt. Ungef\u00e4hr 30 Minuten von Anfang bis Ende.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/","og_locale":"en_US","og_type":"article","og_title":"Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung) - DreamHost Blog","og_description":"Docker auf einem VPS mit Portainer's Web-UI vorneweg ausf\u00fchren. Installationsschritte, Gr\u00f6\u00dfenanpassung, Sicherheit und die T\u00fccken, die jeder Installationsleitfaden \u00fcberspringt. Ungef\u00e4hr 30 Minuten von Anfang bis Ende.","og_url":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2026-06-19T14:30:00+00:00","article_modified_time":"2026-07-04T20:45:20+00:00","og_image":[{"width":1460,"height":1095,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","type":"image\/webp"}],"author":"Dallas Kashuba","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/dallas","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Dallas Kashuba","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/#article","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/"},"author":{"name":"Dallas Kashuba","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483"},"headline":"Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung)","datePublished":"2026-06-19T14:30:00+00:00","dateModified":"2026-07-04T20:45:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/"},"wordCount":5139,"publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","articleSection":["Tutorials","VPS Hosting","Webhosting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/","url":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/","name":"Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung) - DreamHost Blog","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/#primaryimage"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","datePublished":"2026-06-19T14:30:00+00:00","dateModified":"2026-07-04T20:45:20+00:00","description":"Docker auf einem VPS mit Portainer's Web-UI vorneweg ausf\u00fchren. Installationsschritte, Gr\u00f6\u00dfenanpassung, Sicherheit und die T\u00fccken, die jeder Installationsleitfaden \u00fcberspringt. Ungef\u00e4hr 30 Minuten von Anfang bis Ende.","breadcrumb":{"@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/#primaryimage","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","width":1460,"height":1095,"caption":"How To Run Docker and Portainer on a VPS (2026 Guide)"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dreamhost.com\/blog\/de\/wie-du-docker-und-portainer-auf-einem-vps-ausfuhrst-2026-anleitung-de\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog2.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Wie Du Docker und Portainer auf einem VPS ausf\u00fchrst (2026 Anleitung)"}]},{"@type":"WebSite","@id":"https:\/\/www.dreamhost.com\/blog\/#website","url":"https:\/\/www.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483","name":"Dallas Kashuba","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","caption":"Dallas Kashuba"},"description":"Dallas Kashuba co-founded DreamHost while attending Harvey Mudd College and has spent nearly three decades building infrastructure at scale. Today he serves as an advisor, board member, and investor for various tech startups, with a consistent focus on user privacy, open source, and data portability. When he's not thinking about the Open Web, he's probably making music. Follow Dallas on X.","sameAs":["http:\/\/www.idallas.com\/","https:\/\/x.com\/http:\/\/twitter.com\/dallas"],"url":"https:\/\/www.dreamhost.com\/blog\/author\/dallas\/"}]}},"lang":"de","translations":{"de":82070,"en":82006,"es":82076,"pt":82068,"nl":82080,"fr":82074,"it":82082},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82070\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/82008"}],"wp:attachment":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=82070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=82070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=82070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}