[{"data":1,"prerenderedAt":653},["ShallowReactive",2],{"navigation":3,"\u002Fde\u002Fblog\u002Fwhat-is-docker-swarm":354,"\u002Fde\u002Fblog\u002Fwhat-is-docker-swarm-surround":648},[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,263,275,306,347],{"title":5,"path":6,"stem":7},"Moderne Website in 5 Minuten erstellen und deployen","\u002Fde\u002Fblog\u002Fbuild-with-loveable","de\u002F3.blog\u002F1.build-with-loveable",{"title":9,"path":10,"stem":11},"Die souveräne Vercel-Alternative für den Mittelstand: Souveränes Hosting auf Hetzner mit lowcloud","\u002Fde\u002Fblog\u002Fdigital-sovereignty-lowcloud-vs-vercel-b2b","de\u002F3.blog\u002F10.digital-sovereignty-lowcloud-vs-vercel-b2b",{"title":13,"path":14,"stem":15},"Cloud Exit Strategie: Warum Unabhängigkeit kein Notfallplan ist","\u002Fde\u002Fblog\u002Fcloud-exit-strategie","de\u002F3.blog\u002F11.cloud-exit-strategie",{"title":17,"path":18,"stem":19},"Cloud Sovereignty Framework: Wie die EU Cloud-Souveränität endlich messbar macht","\u002Fde\u002Fblog\u002Fcloud-sovereignty-framework","de\u002F3.blog\u002F12.cloud-sovereignty-framework",{"title":21,"path":22,"stem":23},"Cloud Vendor Lock-in vermeiden: Was echte Souveränität technisch bedeutet","\u002Fde\u002Fblog\u002Fcloud-vendor-lock-in","de\u002F3.blog\u002F13.cloud-vendor-lock-in",{"title":25,"path":26,"stem":27},"Digitale Souveränität mit Kubernetes: Wann ist Open Source wirklich souverän?","\u002Fde\u002Fblog\u002Fkubernetes-digital-sovereignty","de\u002F3.blog\u002F14.kubernetes-digital-sovereignty",{"title":29,"path":30,"stem":31},"Was ist DevOps as a Service und wann macht es wirklich Sinn?","\u002Fde\u002Fblog\u002Fdevops-as-a-service","de\u002F3.blog\u002F15.devops-as-a-service",{"title":33,"path":34,"stem":35},"Cloud-Souveränität Governance: Warum das Thema aus der IT-Abteilung ins Führungsteam gehört","\u002Fde\u002Fblog\u002Fcloud-souveraenitaet-governance","de\u002F3.blog\u002F16.cloud-souveraenitaet-governance",{"title":37,"path":38,"stem":39},"PaaS vs. DaaS: Was ist der Unterschied und welches Modell passt zu dir?","\u002Fde\u002Fblog\u002Fpaas-vs-daas","de\u002F3.blog\u002F17.paas-vs-daas",{"title":41,"path":42,"stem":43},"Souveräne Cloud: Kann SaaS wirklich die Kontrolle über eure Daten wahren?","\u002Fde\u002Fblog\u002Fsovereign-cloud-saas-data-control","de\u002F3.blog\u002F18.sovereign-cloud-saas-data-control",{"title":45,"path":46,"stem":47},"DevOps vs. DevOps as a Service – Was passt zu deinem Team?","\u002Fde\u002Fblog\u002Fdevops-vs-devops-as-a-service","de\u002F3.blog\u002F19.devops-vs-devops-as-a-service",{"title":49,"path":50,"stem":51},"Docker Grundlagen: Wie Container-Virtualisierung funktioniert","\u002Fde\u002Fblog\u002Fhow-docker-works","de\u002F3.blog\u002F2.how-docker-works",{"title":53,"path":54,"stem":55},"Die 7 größten DevOps-Probleme in KMU – und wie du sie löst","\u002Fde\u002Fblog\u002Fdevops-problems-smb","de\u002F3.blog\u002F20.devops-problems-smb",{"title":57,"path":58,"stem":59},"PostgreSQL Helm Chart: So deployst du Postgres auf Kubernetes","\u002Fde\u002Fblog\u002Fpostgresql-helm-chart-kubernetes","de\u002F3.blog\u002F21.postgresql-helm-chart-kubernetes",{"title":61,"path":62,"stem":63},"Platform Engineering vs. DevOps – Wo liegt der Unterschied?","\u002Fde\u002Fblog\u002Fplatform-engineering-vs-devops","de\u002F3.blog\u002F22.platform-engineering-vs-devops",{"title":65,"path":66,"stem":67},"Cloud Act vs. DSGVO: Das Risiko für EU-Unternehmen","\u002Fde\u002Fblog\u002Fcloud-act-vs-gdpr","de\u002F3.blog\u002F23.cloud-act-vs-gdpr",{"title":69,"path":70,"stem":71},"IT-Kosten senken durch Automatisierung: Der größte Hebel","\u002Fde\u002Fblog\u002Freduce-it-costs-automation","de\u002F3.blog\u002F24.reduce-it-costs-automation",{"title":73,"path":74,"stem":75},"NIS2 Compliance für DevOps-Teams: Was jetzt zu tun ist","\u002Fde\u002Fblog\u002Fnis2-compliance-devops","de\u002F3.blog\u002F25.nis2-compliance-devops",{"title":77,"path":78,"stem":79},"Self-Hosted EU Alternativen: LibreOffice & Co. hosten","\u002Fde\u002Fblog\u002Fself-hosted-eu-alternatives","de\u002F3.blog\u002F26.self-hosted-eu-alternatives",{"title":81,"path":82,"stem":83},"DORA Compliance für DevOps: Was der EU-Resilienz-Act bedeutet","\u002Fde\u002Fblog\u002Fdora-compliance-devops","de\u002F3.blog\u002F27.dora-compliance-devops",{"title":85,"path":86,"stem":87},"Cloud TCO: Versteckte Kosten, die AWS, Azure & GCP nicht zeigen","\u002Fde\u002Fblog\u002Fcloud-tco-hidden-costs","de\u002F3.blog\u002F28.cloud-tco-hidden-costs",{"title":89,"path":90,"stem":91},"Datenresidenz vs. Datensouveränität: Wo der Unterschied liegt","\u002Fde\u002Fblog\u002Fdata-residency-vs-data-sovereignty","de\u002F3.blog\u002F29.data-residency-vs-data-sovereignty",{"title":93,"path":94,"stem":95},"n8n selbst hosten auf Hetzner: Komplette Docker-Anleitung","\u002Fde\u002Fblog\u002Fself-hosted-n8n-on-hetzner","de\u002F3.blog\u002F3.self-hosted-n8n-on-hetzner",{"title":97,"path":98,"stem":99},"Manuelle Deployments: Unterschätztes Risiko im Mittelstand","\u002Fde\u002Fblog\u002Fmanual-deployment-risks","de\u002F3.blog\u002F30.manual-deployment-risks",{"title":101,"path":102,"stem":103},"DevOps Tool-Chaos: So entsteht und stoppst du Tool-Sprawl","\u002Fde\u002Fblog\u002Fdevops-tool-sprawl","de\u002F3.blog\u002F31.devops-tool-sprawl",{"title":105,"path":106,"stem":107},"Kubernetes Monitoring: Logs und Metriken richtig einsetzen","\u002Fde\u002Fblog\u002Fkubernetes-monitoring-logs-metrics","de\u002F3.blog\u002F32.kubernetes-monitoring-logs-metrics",{"title":109,"path":110,"stem":111},"OB7 Case Study: Website-Deployment ohne Infrastruktur-Aufwand","\u002Fde\u002Fblog\u002Fob7-case-study-lowcloud-deployment","de\u002F3.blog\u002F33.ob7-case-study-lowcloud-deployment",{"title":113,"path":114,"stem":115},"DevOps in KMU: Warum fehlende Rollen zum echten Risiko werden","\u002Fde\u002Fblog\u002Fmissing-devops-roles-smb","de\u002F3.blog\u002F34.missing-devops-roles-smb",{"title":117,"path":118,"stem":119},"Kubernetes Konfiguration vereinfachen: Human-Readable Cloud","\u002Fde\u002Fblog\u002Fsimplify-kubernetes-configuration","de\u002F3.blog\u002F35.simplify-kubernetes-configuration",{"title":121,"path":122,"stem":123},"Collaborative DevOps: Cloud-Apps gemeinsam bauen","\u002Fde\u002Fblog\u002Fcollaborative-devops-teams","de\u002F3.blog\u002F36.collaborative-devops-teams",{"title":125,"path":126,"stem":127},"Wissensdokumentation in DevOps-Teams: Bus-Faktor senken","\u002Fde\u002Fblog\u002Fdevops-knowledge-documentation-bus-factor","de\u002F3.blog\u002F37.devops-knowledge-documentation-bus-factor",{"title":129,"path":130,"stem":131},"Was ist PaaS? Platform as a Service einfach erklärt","\u002Fde\u002Fblog\u002Fwhat-is-paas","de\u002F3.blog\u002F38.what-is-paas",{"title":133,"path":134,"stem":135},"EU AI Act Hosting: Was sich für KI-Workloads ändert","\u002Fde\u002Fblog\u002Feu-ai-act-hosting","de\u002F3.blog\u002F39.eu-ai-act-hosting",{"title":137,"path":138,"stem":139},"Docker Compose Tutorial: Multi-Container-Apps einfach verwalten","\u002Fde\u002Fblog\u002Fdocker-compose-for-beginners","de\u002F3.blog\u002F4.docker-compose-for-beginners",{"title":141,"path":142,"stem":143},"Full-Stack Developer: Was der Begriff wirklich bedeutet","\u002Fde\u002Fblog\u002Ffull-stack-developer-reality","de\u002F3.blog\u002F40.full-stack-developer-reality",{"title":145,"path":146,"stem":147},"Cloud Egress Fees im Vergleich: AWS vs. Azure vs. GCP Preise","\u002Fde\u002Fblog\u002Fcloud-egress-fees","de\u002F3.blog\u002F41.cloud-egress-fees",{"title":149,"path":150,"stem":151},"Bring Your Own Cloud: Was das Modell bedeutet und warum es Fahrt aufnimmt","\u002Fde\u002Fblog\u002Fbring-your-own-cloud","de\u002F3.blog\u002F42.bring-your-own-cloud",{"title":153,"path":154,"stem":155},"Zero-Config Kubernetes: Warum Einfachheit gewinnt","\u002Fde\u002Fblog\u002Fzero-config-kubernetes","de\u002F3.blog\u002F43.zero-config-kubernetes",{"title":157,"path":158,"stem":159},"Minimalistische Cloud-Architektur: Weniger ist stabiler","\u002Fde\u002Fblog\u002Fminimalist-cloud-architecture","de\u002F3.blog\u002F44.minimalist-cloud-architecture",{"title":161,"path":162,"stem":163},"Software Deployment KMU: Schneller und sicherer ausrollen","\u002Fde\u002Fblog\u002Fsmb-software-deployment","de\u002F3.blog\u002F45.smb-software-deployment",{"title":165,"path":166,"stem":167},"EU Data Act: Was Unternehmen und DevOps-Teams wissen müssen","\u002Fde\u002Fblog\u002Feu-data-act-business-devops","de\u002F3.blog\u002F46.eu-data-act-business-devops",{"title":169,"path":170,"stem":171},"Data Governance Act: Was KMU und DevOps-Teams wissen müssen","\u002Fde\u002Fblog\u002Fdata-governance-act-devops-guide","de\u002F3.blog\u002F47.data-governance-act-devops-guide",{"title":173,"path":174,"stem":175},"Cloud agnostisch: Bedeutung und praktische Umsetzung","\u002Fde\u002Fblog\u002Fcloud-agnostic-architecture","de\u002F3.blog\u002F48.cloud-agnostic-architecture",{"title":177,"path":178,"stem":179},"Kubernetes Migration: Was du wissen musst, bevor du anfängst","\u002Fde\u002Fblog\u002Fkubernetes-migration-guide","de\u002F3.blog\u002F49.kubernetes-migration-guide",{"title":181,"path":182,"stem":183},"Docmost selbst hosten mit Docker Compose und Traefik: Komplette Anleitung","\u002Fde\u002Fblog\u002Fself-host-docmost-with-docker-and-traefik","de\u002F3.blog\u002F5.self-host-docmost-with-docker-and-traefik",{"title":185,"path":186,"stem":187},"AI Agenten Infrastruktur: Was du für Produktion brauchst","\u002Fde\u002Fblog\u002Fai-agent-infrastructure","de\u002F3.blog\u002F50.ai-agent-infrastructure",{"title":189,"path":190,"stem":191},"ROI von Managed Services: Warum Eigenbetrieb oft teurer ist","\u002Fde\u002Fblog\u002Fmanaged-services-roi","de\u002F3.blog\u002F51.managed-services-roi",{"title":193,"path":194,"stem":195},"lowcloud vs. DevOps-as-a-Service-Anbieter im Vergleich","\u002Fde\u002Fblog\u002Flowcloud-vs-devops-service-providers","de\u002F3.blog\u002F52.lowcloud-vs-devops-service-providers",{"title":197,"path":198,"stem":199},"Kubernetes vs. Docker Swarm: Unterschiede und warum K8s gewonnen hat","\u002Fde\u002Fblog\u002Fkubernetes-vs-docker-swarm","de\u002F3.blog\u002F53.kubernetes-vs-docker-swarm",{"title":201,"path":202,"stem":203},"Hetzner Kubernetes Hosting mit lowcloud","\u002Fde\u002Fblog\u002Fhetzner-kubernetes-hosting","de\u002F3.blog\u002F54.hetzner-kubernetes-hosting",{"title":205,"path":206,"stem":207},"MinIO Alternativen im Vergleich: RustFS, SeaweedFS und Garage","\u002Fde\u002Fblog\u002Fminio-alternatives","de\u002F3.blog\u002F55.minio-alternatives",{"title":209,"path":210,"stem":211},"Was ist Docker Swarm? Container-Orchestrierung mit Bordmitteln","\u002Fde\u002Fblog\u002Fwhat-is-docker-swarm","de\u002F3.blog\u002F56.what-is-docker-swarm",{"title":213,"path":214,"stem":215},"Was ist ein Helm Chart? Der Paketmanager für Kubernetes","\u002Fde\u002Fblog\u002Fwhat-is-a-helm-chart","de\u002F3.blog\u002F57.what-is-a-helm-chart",{"title":217,"path":218,"stem":219},"Docker vs Kubernetes: Compose, Swarm und K8s im Vergleich","\u002Fde\u002Fblog\u002Fdocker-vs-kubernetes","de\u002F3.blog\u002F58.docker-vs-kubernetes",{"title":221,"path":222,"stem":223},"Was ist Kustomize? Kubernetes-Configs sauber verwalten","\u002Fde\u002Fblog\u002Fwhat-is-kustomize","de\u002F3.blog\u002F59.what-is-kustomize",{"title":225,"path":226,"stem":227},"Was ist Kubernetes? Container-Orchestrierung verständlich erklärt","\u002Fde\u002Fblog\u002Fwhat-is-kubernetes","de\u002F3.blog\u002F6.what-is-kubernetes",{"title":229,"path":230,"stem":231},"Die besten Heroku-Alternativen 2026","\u002Fde\u002Fblog\u002Fheroku-alternatives","de\u002F3.blog\u002F60.heroku-alternatives",{"title":233,"path":234,"stem":235},"Die Cloud-Illusion: Warum ein Serverstandort in Deutschland noch keine digitale Souveränität macht","\u002Fde\u002Fblog\u002Fcloud-illusion-digitale-souveraenitaet","de\u002F3.blog\u002F7.cloud-illusion-digitale-souveraenitaet",{"title":237,"path":238,"stem":239},"S3-kompatibler Objektspeicher: Die besten Anbieter im Vergleich (2026)","\u002Fde\u002Fblog\u002Fs3-compatible-object-storage","de\u002F3.blog\u002F8.s3-compatible-object-storage",{"title":241,"path":242,"stem":243},"Deployment als Bottleneck: Wenn KI schneller coden kann als du deployen kannst","\u002Fde\u002Fblog\u002Fdeployment-bottleneck","de\u002F3.blog\u002F9.deployment-bottleneck",{"title":245,"path":246,"stem":247,"children":248,"icon":262},"Getting Started","\u002Fde\u002Fdocs\u002Fgetting-started","de\u002F1.docs\u002F1.getting-started\u002F1.index",[249,252,257],{"title":250,"path":246,"stem":247,"icon":251},"Einführung","i-lucide-house",{"title":253,"path":254,"stem":255,"icon":256},"Erste Schritte","\u002Fde\u002Fdocs\u002Fgetting-started\u002Fget-started","de\u002F1.docs\u002F1.getting-started\u002F2.get-started","i-lucide-rocket",{"title":258,"path":259,"stem":260,"icon":261},"Funktionsweise","\u002Fde\u002Fdocs\u002Fgetting-started\u002Fhow-it-works","de\u002F1.docs\u002F1.getting-started\u002F3.how-it-works","i-lucide-lightbulb",false,{"title":264,"path":265,"stem":266,"children":267,"icon":262},"Guides","\u002Fde\u002Fdocs\u002Fguides","de\u002F1.docs\u002F2.guides\u002F1.index",[268,270],{"title":264,"path":265,"stem":266,"icon":269},"i-lucide-book-open",{"title":271,"path":272,"stem":273,"icon":274},"Container Registry verbinden","\u002Fde\u002Fdocs\u002Fguides\u002Fcontainer-registries","de\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":276,"path":277,"stem":278,"children":279,"icon":262},"App Services","\u002Fde\u002Fdocs\u002Fapp-services","de\u002F1.docs\u002F3.app-services\u002F1.index",[280,281,286,291,296,301],{"title":276,"path":277,"stem":278,"icon":256},{"title":282,"path":283,"stem":284,"icon":285},"Build Settings","\u002Fde\u002Fdocs\u002Fapp-services\u002Fbuild-settings","de\u002F1.docs\u002F3.app-services\u002F2.build-settings","i-lucide-settings",{"title":287,"path":288,"stem":289,"icon":290},"Env Variables","\u002Fde\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","de\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":292,"path":293,"stem":294,"icon":295},"Custom Domains","\u002Fde\u002Fdocs\u002Fapp-services\u002Fcustom-domains","de\u002F1.docs\u002F3.app-services\u002F4.custom-domains","i-lucide-globe",{"title":297,"path":298,"stem":299,"icon":300},"Health Checks","\u002Fde\u002Fdocs\u002Fapp-services\u002Fhealth-checks","de\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":302,"path":303,"stem":304,"icon":305},"Autoscaling","\u002Fde\u002Fdocs\u002Fapp-services\u002Fautoscaling","de\u002F1.docs\u002F3.app-services\u002F6.autoscaling","i-lucide-scaling",{"title":307,"path":308,"stem":309,"children":310,"icon":262},"Helm Releases","\u002Fde\u002Fdocs\u002Fhelm-releases","de\u002F1.docs\u002F4.helm-releases\u002F1.index",[311,313,318,323,327,332,337,342],{"title":307,"path":308,"stem":309,"icon":312},"i-lucide-package",{"title":314,"path":315,"stem":316,"icon":317},"PostgreSQL deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","de\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql","i-lucide-database",{"title":319,"path":320,"stem":321,"icon":322},"Redis deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","de\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":324,"path":325,"stem":326,"icon":322},"Valkey deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-valkey","de\u002F1.docs\u002F4.helm-releases\u002F3.deploy-valkey",{"title":328,"path":329,"stem":330,"icon":331},"n8n deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","de\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":333,"path":334,"stem":335,"icon":336},"RustFS deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","de\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs","i-lucide-hard-drive",{"title":338,"path":339,"stem":340,"icon":341},"OpenSearch deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","de\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":343,"path":344,"stem":345,"icon":346},"Keycloak deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak","de\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","i-lucide-shield-check",{"title":348,"path":349,"stem":350,"children":351,"icon":262},"Glossar","\u002Fde\u002Fdocs\u002Fglossary","de\u002F1.docs\u002F5.glossary\u002F1.index",[352],{"title":348,"path":349,"stem":350,"icon":353},"i-lucide-book-a",{"id":355,"title":209,"authors":356,"badge":362,"body":363,"date":638,"description":639,"extension":640,"image":641,"lastUpdated":643,"meta":644,"navigation":645,"path":210,"published":645,"seo":646,"stem":211,"tags":362,"__hash__":647},"posts_de\u002Fde\u002F3.blog\u002F56.what-is-docker-swarm.md",[357],{"name":358,"to":359,"avatar":360},"Thomas Ens","\u002Fabout\u002Fthomasens",{"src":361},"\u002Fimages\u002Fblog\u002Fauthors\u002Fthomas.jpeg",null,{"type":364,"value":365,"toc":623},"minimark",[366,378,383,386,398,402,405,408,411,414,418,426,429,432,437,440,443,447,450,453,456,460,470,477,480,484,495,503,509,512,587,591,594,610,613,616],[367,368,369,370,377],"p",{},"Docker Swarm ist die native Clustering- und Orchestrierungslösung von ",[371,372,376],"a",{"href":373,"rel":374},"https:\u002F\u002Fwww.docker.com\u002F",[375],"nofollow","Docker",". Sie ist direkt in die Docker Engine integriert und ermöglicht es, mehrere Docker-Hosts zu einem Cluster zusammenzuschließen, ohne separate Tools installieren zu müssen. Wer Container auf mehr als einem Server betreiben will, bekommt mit Docker Swarm ein solides Fundament: einfach einzurichten, mit vertrautem Docker-Tooling, und für viele Setups vollkommen ausreichend.",[379,380,382],"h2",{"id":381},"swarm-mode-was-steckt-dahinter","Swarm Mode. Was steckt dahinter?",[367,384,385],{},"Seit Docker 1.12 ist Swarm kein eigenständiges Projekt mehr, sondern ein eingebauter Betriebsmodus der Docker Engine, bekannt als Swarm Mode. Das bedeutet: Jede aktuelle Docker-Installation kann einen Swarm-Cluster betreiben, ohne dass zusätzliche Pakete oder externe Abhängigkeiten nötig wären.",[367,387,388,389,393,394,397],{},"Der konzeptuelle Unterschied zu ",[390,391,392],"code",{},"docker run"," oder ",[390,395,396],{},"docker-compose"," liegt im Abstraktionsniveau. Swarm denkt nicht in einzelnen Containern, die auf einem bestimmten Host laufen, es denkt in Services, die auf dem Cluster als Ganzes ausgeführt werden. Wo genau ein Container landet, entscheidet der Scheduler.",[379,399,401],{"id":400},"manager-und-worker-nodes-im-überblick","Manager- und Worker-Nodes im Überblick",[367,403,404],{},"Ein Swarm-Cluster besteht aus zwei Typen von Nodes:",[367,406,407],{},"Manager-Nodes sind für die Clusterverwaltung zuständig. Sie nehmen API-Anfragen entgegen, verteilen Aufgaben (sogenannte Tasks) an Worker-Nodes und überwachen den Zustand des Clusters. Manager-Nodes nutzen das Raft-Konsensusprotokoll, um untereinander einen konsistenten Cluster-Zustand zu halten. Fällt ein Manager aus, übernimmt ein anderer, vorausgesetzt, die Mehrheit der Manager ist noch erreichbar.",[367,409,410],{},"Daraus ergibt sich eine praktische Faustformel: Wer Hochverfügbarkeit will, sollte 3 oder 5 Manager-Nodes betreiben. Bei 3 Managern darf einer ausfallen, bei 5 Managern dürfen es zwei sein.",[367,412,413],{},"Worker-Nodes führen die Container aus. Sie empfangen Tasks vom Manager und melden deren Status zurück – mehr nicht. Worker-Nodes haben keinen Zugriff auf den Cluster-Zustand und können keine Management-Operationen ausführen.",[379,415,417],{"id":416},"services-tasks-und-der-desired-state","Services, Tasks und der Desired State",[367,419,420,421,425],{},"Das zentrale Konzept in Docker Swarm ist der ",[422,423,424],"strong",{},"Service",". Anstatt einen Container manuell zu starten, definiert man einen Service mit einer gewünschten Anzahl von Replicas.",[367,427,428],{},"Swarm stellt sicher, dass zu jedem Zeitpunkt genau 3 Instanzen des Nginx-Containers laufen, verteilt über die verfügbaren Worker-Nodes. Fällt einer aus, erkennt das der Manager und startet einen neuen Task. Dieses Prinzip nennt sich Desired State Reconciliation: Swarm gleicht kontinuierlich den gewünschten Zustand mit dem tatsächlichen Zustand ab.",[367,430,431],{},"Tasks sind die kleinsten Einheiten in Swarm, jeder Task entspricht einem Container auf einem bestimmten Node. Der Service ist das Objekt, das man beschreibt und verwaltet; die Tasks entstehen daraus automatisch.",[433,434,436],"h3",{"id":435},"rolling-updates-und-rollbacks","Rolling Updates und Rollbacks",[367,438,439],{},"Ein häufiges Problem bei manuellen Deployments: entweder kurze Downtime beim Austausch des Containers oder komplizierte Blue\u002FGreen-Setups. Swarm löst das mit eingebauten Rolling Updates.",[367,441,442],{},"Swarm merkt sich den vorherigen Zustand des Service und kann ihn ohne manuelle Intervention wiederherstellen.",[379,444,446],{"id":445},"overlay-netzwerke-und-service-discovery","Overlay-Netzwerke und Service Discovery",[367,448,449],{},"Wenn mehrere Services auf unterschiedlichen Nodes kommunizieren sollen, etwa ein Backend-Service, der eine Datenbank anspricht, braucht man ein Netzwerk, das Hostgrenzen überbrückt. Docker Swarm bringt dafür Overlay-Netzwerke mit.",[367,451,452],{},"Services, die demselben Overlay-Netzwerk zugeordnet sind, können sich gegenseitig über ihren Servicenamen ansprechen, unabhängig davon, auf welchem Node die Container gerade laufen. Der integrierte DNS-Resolver übernimmt die Service Discovery automatisch.",[367,454,455],{},"Das erspart die manuelle Pflege von IP-Adressen und macht Service-Kommunikation innerhalb des Clusters transparent.",[379,457,459],{"id":458},"docker-stack-und-compose-integration","Docker Stack und Compose-Integration",[367,461,462,463,465,466,469],{},"Teams, die bereits mit ",[390,464,396],{}," arbeiten, können ihr vorhandenes Wissen direkt in Swarm einbringen. Mit ",[390,467,468],{},"docker stack deploy"," lassen sich Compose-Files im Format v3 direkt in Swarm deployen.",[367,471,472,473,476],{},"Ein Stack ist im Wesentlichen eine Gruppe von Services, die gemeinsam deployt und verwaltet werden. Das Compose-File bleibt weitgehend unverändert, lediglich Swarm-spezifische Einstellungen wie Replica-Anzahl oder Update-Konfiguration kommen unter dem ",[390,474,475],{},"deploy","-Schlüssel hinzu:",[367,478,479],{},"Dieser Weg macht den Einstieg in Swarm für Compose-Nutzer besonders niedrigschwellig.",[379,481,483],{"id":482},"docker-swarm-vs-kubernetes-wann-was","Docker Swarm vs. Kubernetes. Wann was?",[367,485,486,487,490,491,494],{},"Der ",[371,488,489],{"href":198},"direkte Vergleich zwischen Docker Swarm und Kubernetes"," taucht regelmäßig auf, und die Antwort ist weniger binär als oft dargestellt. Wer zusätzlich ",[371,492,493],{"href":218},"Docker, Compose, Swarm und Kubernetes direkt gegenüber"," stellen möchte, findet dort die Entscheidungshilfe im Überblick.",[367,496,497,502],{},[422,498,499],{},[371,500,501],{"href":226},"Kubernetes"," hat ein deutlich größeres Feature-Set: natives Horizontal Pod Autoscaling, detailliertes RBAC, Custom Resource Definitions, ein riesiges Ökosystem an Operatoren und Tools. Dafür ist der Einstieg aufwendiger, der Betrieb anspruchsvoller und die Lernkurve steiler.",[367,504,505,508],{},[422,506,507],{},"Docker Swarm"," ist konzeptionell einfacher, schneller eingerichtet und für viele Anwendungsfälle ausreichend. Wer kein dediziertes DevOps-Team hat oder Kubernetes nicht braucht, fährt mit Swarm oft pragmatischer.",[367,510,511],{},"Entscheidende Unterschiede auf einen Blick:",[513,514,515,528],"table",{},[516,517,518],"thead",{},[519,520,521,524,526],"tr",{},[522,523],"th",{},[522,525,507],{},[522,527,501],{},[529,530,531,543,554,565,576],"tbody",{},[519,532,533,537,540],{},[534,535,536],"td",{},"Einstieg",[534,538,539],{},"Einfach",[534,541,542],{},"Komplex",[519,544,545,548,551],{},[534,546,547],{},"Auto-Scaling",[534,549,550],{},"Nicht nativ",[534,552,553],{},"Ja",[519,555,556,559,562],{},[534,557,558],{},"RBAC",[534,560,561],{},"Begrenzt",[534,563,564],{},"Vollständig",[519,566,567,570,573],{},[534,568,569],{},"Ökosystem",[534,571,572],{},"Klein",[534,574,575],{},"Groß",[519,577,578,581,584],{},[534,579,580],{},"Ressourcenbedarf",[534,582,583],{},"Gering",[534,585,586],{},"Höher",[433,588,590],{"id":589},"wann-swarm-die-richtige-wahl-ist","Wann Swarm die richtige Wahl ist",[367,592,593],{},"Swarm macht dann Sinn, wenn:",[595,596,597,601,604,607],"ul",{},[598,599,600],"li",{},"Das Team Docker kennt, aber Kubernetes noch nicht eingeführt hat",[598,602,603],{},"Die Infrastruktur überschaubar ist und kein automatisches Scaling benötigt wird",[598,605,606],{},"Bare-Metal-Server oder kleine VMs ohne Cloud-Managed-Kubernetes eingesetzt werden",[598,608,609],{},"Die Betriebskomplexität bewusst niedrig gehalten werden soll",[367,611,612],{},"Sobald die Anforderungen wachsen – mehr Teams, komplexere Netzwerktopologien, feingranulare Zugriffssteuerung, Skalierungsautomatisierung, stößt Swarm an Grenzen.",[614,615],"hr",{},[367,617,618,619,622],{},"Docker Swarm ist ein solider Einstiegspunkt in die Container-Orchestrierung, ohne den operativen Overhead, den Kubernetes mit sich bringt. Wer aber merkt, dass die Anforderungen wachsen und ein vollständiges Kubernetes-Setup sinnvoll wäre, muss das nicht selbst aufbauen und betreiben. lowcloud bietet eine ",[371,620,621],{"href":30},"DevOps-as-a-Service-Plattform mit Kubernetes im Kern",", die den Betrieb von Kubernetes-Clustern auf souveräner Infrastruktur vereinfacht, ohne Cloud, Vendor-Lock-in und mit dem Fokus auf das, was zählt: die eigene Anwendung.",{"title":624,"searchDepth":625,"depth":625,"links":626},"",2,[627,628,629,633,634,635],{"id":381,"depth":625,"text":382},{"id":400,"depth":625,"text":401},{"id":416,"depth":625,"text":417,"children":630},[631],{"id":435,"depth":632,"text":436},3,{"id":445,"depth":625,"text":446},{"id":458,"depth":625,"text":459},{"id":482,"depth":625,"text":483,"children":636},[637],{"id":589,"depth":632,"text":590},"2026-04-07","Docker Swarm erklärt: Cluster, Services, Overlay-Netzwerke und der Vergleich mit Kubernetes. Wann Swarm die richtige Wahl für Container-Orchestrierung ist.","md",{"src":642},"\u002Fimages\u002Fblog\u002Fwhat-is-docker-swarm.jpg","2026-04-13",{},true,{"title":209,"description":639},"3_HFYoIjzmLHlAdmGotQbZ9yW5FonUoyypKwkTi8myk",[649,651],{"title":205,"path":206,"stem":207,"description":650,"children":-1},"MinIO-Ersatz gesucht? Wir vergleichen RustFS, SeaweedFS und Garage – S3-kompatibel, self-hosted, lizenzrechtlich sauber und Kubernetes-tauglich.",{"title":213,"path":214,"stem":215,"description":652,"children":-1},"Helm Charts bündeln Kubernetes-Ressourcen in ein versioniertes Paket. So sind sie aufgebaut, so funktioniert das Templating und so setzt du sie sinnvoll ein.",1776079527809]