{"id":10087,"date":"2026-03-16T08:11:51","date_gmt":"2026-03-16T08:11:51","guid":{"rendered":"\/de\/tutorials\/?p=10087"},"modified":"2026-03-16T08:11:52","modified_gmt":"2026-03-16T08:11:52","slug":"was-ist-docker-compose","status":"publish","type":"post","link":"\/de\/tutorials\/was-ist-docker-compose\/","title":{"rendered":"Was ist Docker Compose und wie wird es verwendet?"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Docker Compose ist ein Tool zum Definieren und Ausf&uuml;hren von Anwendungen mit mehreren Containern. Entwickler verwenden es, um die Verwaltung miteinander verbundener Dienste zu vereinfachen, etwa durch die Kombination einer Front-End-Anwendung mit einem Datenbankserver, sodass sich der gesamte Anwendungsstack einfacher verwalten l&auml;sst.<\/p><p class=\"wp-block-paragraph\">Mithilfe einer einzigen YAML-Datei erm&ouml;glicht Docker Compose die Definition der f&uuml;r eine Anwendung erforderlichen Infrastruktur, einschlie&szlig;lich des zu verwendenden Images, der internen Netzwerkkonfiguration und der einzubindenden persistenten Volumes. Anschlie&szlig;end k&ouml;nnen Sie alle Container auf Grundlage dieser Konfiguration erstellen, indem Sie den Befehl <strong>docker compose up<\/strong> ausf&uuml;hren.<\/p><p class=\"wp-block-paragraph\">W&auml;hrend des gesamten Projektlebenszyklus k&ouml;nnen Sie Container mit weiteren Docker-Compose-Befehlen verwalten. Beispielsweise f&auml;hrt <strong>docker compose down<\/strong> alle Dienste herunter, w&auml;hrend <strong>docker compose ps<\/strong> die in der YAML-Datei definierten, aktuell laufenden Container auflistet.<\/p><p class=\"wp-block-paragraph\">Um Docker Compose zu verwenden, m&uuml;ssen Docker Engine und Docker CLI installiert sein. Anschlie&szlig;end richten Sie das Tool ein, indem Sie das Plugin &uuml;ber den Paketmanager Ihres Systems oder &uuml;ber Homebrew installieren. Wenn Sie Docker Desktop verwenden, ist dieses Orchestrierungs-Tool bereits standardm&auml;&szlig;ig enthalten.<\/p><p class=\"wp-block-paragraph\">Lesen Sie weiter, um mehr dar&uuml;ber zu erfahren, was Docker Compose ist und wie Sie es zur Verwaltung von Multi-Container-Anwendungen einsetzen.<\/p><h2 class=\"wp-block-heading\" id=\"h-what-is-docker-compose\">Was ist Docker Compose?<\/h2><p class=\"wp-block-paragraph\">Docker Compose ist ein Tool, mit dem Entwickler Multi-Container-Docker-Anwendungen definieren und ausf&uuml;hren k&ouml;nnen. Sein Hauptzweck besteht darin, die Verwaltung mehrerer Dienste zu vereinfachen, zu zentralisieren und zu vereinheitlichen.<\/p><p class=\"wp-block-paragraph\">Docker Compose basiert auf einer einzelnen YAML-Datei, in der Sie alle Aspekte der Container Ihrer Anwendung definieren: welches Image jeder Service verwenden soll, wie die Services miteinander kommunizieren und wo persistente Daten gespeichert werden. Auf Grundlage dieser Konfiguration k&ouml;nnen Sie die Container erstellen und verwalten.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-does-docker-compose-work\">Wie funktioniert Docker Compose?<\/h2><p class=\"wp-block-paragraph\">Docker Compose funktioniert, indem in der YAML-Datei drei zentrale Komponenten einer Multi-Container-Anwendung definiert werden: <strong>Services<\/strong>, <strong>Netzwerke<\/strong> und <strong>Volumes<\/strong>.<\/p><p class=\"wp-block-paragraph\">Wenn Sie eine Anwendung auf Grundlage der YAML-Datei starten, l&auml;dt Docker Compose das Image herunter oder erstellt es, um den jeweiligen <strong>Service<\/strong> zu erzeugen, der als Container ausgef&uuml;hrt wird.<\/p><p class=\"wp-block-paragraph\">Anschlie&szlig;end erstellt Docker Compose ein internes Netzwerk, damit Services miteinander kommunizieren k&ouml;nnen, und initialisiert Volumes zur Speicherung persistenter Daten, die von Containern gemeinsam genutzt werden k&ouml;nnen. Au&szlig;erdem richtet Docker Compose Umgebungsvariablen f&uuml;r jeden Service ein, damit Daten &uuml;bergeben werden k&ouml;nnen, ohne Werte direkt im Image des jeweiligen Services hart zu kodieren.<\/p><p class=\"wp-block-paragraph\">Alle Konfigurationen &ndash; einschlie&szlig;lich des zu verwendenden Images, der Netzwerkkonfiguration, der Einbindung persistenter Volumes und der einzuschlie&szlig;enden Umgebungsvariablen &ndash; werden in der YAML-Datei definiert. Dadurch k&ouml;nnen Sie alle Container Ihrer Anwendung &uuml;ber diese Datei erstellen und verwalten.<\/p><h3 class=\"wp-block-heading\" id=\"h-example-of-a-docker-compose-yaml-file\">Beispiel einer Docker-Compose-YAML-Datei<\/h3><p class=\"wp-block-paragraph\">Hier ist ein Beispiel f&uuml;r eine Docker-Compose-YAML-Datei, die ein Projekt mit zwei miteinander verbundenen Services beschreibt: eine einfache Webanwendung und eine Redis-Cache-Instanz.<\/p><p class=\"wp-block-paragraph\">Um die Konfiguration besser zu verstehen, sehen Sie sich die Kommentare im Beispiel an. Sie erkl&auml;ren, welche Funktion die jeweilige Zeile erf&uuml;llt.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\n\n  web: # Service f&uuml;r die Webanwendung\n\n    build: . # Erstellt das Image aus dem Dockerfile im aktuellen Verzeichnis\n\n    ports:\n\n      - \"8000:5000\" # Ordnet Host-Port 8000 dem Container-Port 5000 zu\n\n    depends_on:\n\n      - redis # Stellt sicher, dass 'redis' vor 'web' gestartet wird\n\n    volumes:\n\n      - .\/:\/app # Bindet das aktuelle Verzeichnis im Container unter \/app ein (Bind-Mount)\n\n    environment:\n\n      REDIS_HOST: ${REDIS_HOST:-redis} # Setzt REDIS_HOST aus der Umgebung oder verwendet standardm&auml;&szlig;ig 'redis'\n\n  redis: # Service f&uuml;r den Redis-Cache\n\n    image: redis:6 # Verwendet das offizielle Redis-Image (Version 6)\n\n    expose:\n\n      - \"6379\" # Stellt Port 6379 anderen Services innerhalb des Docker-Netzwerks zur Verf&uuml;gung\n\n    volumes:\n\n      - redis_data:\/data # Speichert Redis-Daten dauerhaft in einem benannten Volume\n\nvolumes:\n\n  redis_data: {} # Deklariert das benannte Volume zur persistenten Speicherung der Redis-Daten<\/pre><p class=\"wp-block-paragraph\">Beachten Sie, dass der genaue Inhalt der YAML-Datei je nach Anwendung, Services und verwendeter Konfiguration variieren kann.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-install-docker-compose\">So installieren Sie Docker Compose<\/h2><p class=\"wp-block-paragraph\">Die Schritte zur Installation von Docker Compose variieren je nach Docker-Umgebung und Betriebssystem.<\/p><p class=\"wp-block-paragraph\">Wenn Sie <strong>Docker Desktop<\/strong> verwenden, ist Compose bereits vorkonfiguriert. Wenn Sie mit der Docker CLI arbeiten, k&ouml;nnen Sie das Compose-Plugin entweder aus dem offiziellen Repository installieren oder manuell herunterladen. Im Folgenden wird die Installation &uuml;ber das offizielle Repository erl&auml;utert, da sich dadurch zuk&uuml;nftige Updates einfacher durchf&uuml;hren lassen.<\/p><p class=\"wp-block-paragraph\">Bevor Sie fortfahren, stellen Sie sicher, dass Docker Engine und Docker CLI installiert und eingerichtet sind. Falls dies noch nicht der Fall ist, lesen Sie unsere Anleitung zur <a href=\"\/de\/tutorials\/docker-auf-ubuntu-installieren\/\">Installation von Docker auf Ubuntu<\/a>, um die erforderlichen Schritte kennenzulernen.<\/p><p class=\"wp-block-paragraph\">Sobald Engine und CLI eingerichtet sind, installieren Sie Compose entsprechend Ihrem Betriebssystem. Unter Linux k&ouml;nnen Sie dies &uuml;ber den Paketmanager Ihres Systems erledigen. Auf Debian-basierten Distributionen verwenden Sie beispielsweise die folgenden Befehle:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update<\/pre><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install docker-compose-plugin<\/pre><p class=\"wp-block-paragraph\">Wenn Sie ein Betriebssystem verwenden, das nicht auf Debian basiert, ersetzen Sie <strong>apt<\/strong> durch den entsprechenden Paketmanager. Verwenden Sie beispielsweise <strong>dnf<\/strong>, wenn Sie eine RHEL-basierte Distribution einsetzen.<\/p><p class=\"wp-block-paragraph\">macOS-Benutzer installieren Docker Compose &uuml;ber Homebrew mit folgendem Befehl:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">brew install docker-compose<\/pre><p class=\"wp-block-paragraph\">Unter Linux und macOS k&ouml;nnen Sie &uuml;berpr&uuml;fen, ob Docker Compose erfolgreich installiert wurde, indem Sie den folgenden Befehl ausf&uuml;hren:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose version<\/pre><p class=\"wp-block-paragraph\">Wenn Docker Compose korrekt konfiguriert ist, wird die installierte Versionsnummer im Terminal angezeigt.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a72ede1e6161\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a72ede1e6161\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"852\" height=\"76\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/03\/Das-Terminal-gibt-die-installierte-docker-compose-Version-aus.png\/public\" alt=\"\" class=\"wp-image-10085\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/03\/Das-Terminal-gibt-die-installierte-docker-compose-Version-aus.png\/w=852,fit=scale-down 852w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/03\/Das-Terminal-gibt-die-installierte-docker-compose-Version-aus.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/03\/Das-Terminal-gibt-die-installierte-docker-compose-Version-aus.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 852px) 100vw, 852px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h2 class=\"wp-block-heading\" id=\"h-how-to-use-docker-compose\">So verwenden Sie Docker Compose<\/h2><p class=\"wp-block-paragraph\">Mit Docker Compose k&ouml;nnen Sie die Konfiguration Ihrer Anwendung definieren, den Stack starten und seinen gesamten Lebenszyklus mit einem einzigen Tool verwalten.<\/p><p class=\"wp-block-paragraph\">Um zu veranschaulichen, wie Docker Compose in der Praxis eingesetzt wird, nehmen wir an, Sie m&ouml;chten WordPress unter Ubuntu mit Docker ausf&uuml;hren. Der grundlegende Workflow sieht wie folgt aus.<\/p><ol class=\"wp-block-list\">\n<li>Verwenden Sie einen Texteditor wie nano, um eine YAML- oder YML-Konfigurationsdatei zu erstellen. Sie k&ouml;nnen einen beliebigen Namen w&auml;hlen. Es empfiehlt sich jedoch, den Standardnamen <strong>docker-compose.yml<\/strong> oder <strong>compose.yaml<\/strong> zu verwenden, da dies die Verwaltung erleichtert.<\/li>\n\n\n\n<li>Definieren Sie in der YAML-Datei die Images f&uuml;r WordPress und MySQL sowie deren Konfiguration, beispielsweise Netzwerkeinstellungen, persistente Volumes und Abh&auml;ngigkeiten.<\/li>\n\n\n\n<li>Verwenden Sie anschlie&szlig;end Docker Compose, um alle WordPress- und MySQL-Services mit den in der YAML-Datei definierten Einstellungen und Abh&auml;ngigkeiten zu erstellen und zu starten:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose up<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Im Verlauf eines Projekts m&uuml;ssen Sie Container etwa f&uuml;r Updates oder Wartungsarbeiten stoppen und entfernen. F&uuml;hren Sie dazu den folgenden Befehl aus:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose down<\/pre><p class=\"wp-block-paragraph\">Sie k&ouml;nnen das Verhalten des Befehls <strong>docker compose<\/strong> mit Flags anpassen. Wenn Sie beispielsweise eine Konfigurationsdatei verwenden m&ouml;chten, die nicht den Standardnamen verwendet, f&uuml;gen Sie das Flag <strong>-f<\/strong> oder <strong>&ndash;file<\/strong> hinzu, um die Datei anzugeben, die Docker Engine verwenden soll:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose -f your-compose-file.yaml up<\/pre><p class=\"wp-block-paragraph\">Standardm&auml;&szlig;ig erstellt Docker Compose die Container im aktuellen Arbeitsverzeichnis. Wenn Sie die Anwendung in einem anderen Verzeichnis ausf&uuml;hren m&ouml;chten, verwenden Sie das Flag <strong>&ndash;project-directory<\/strong> und geben den gew&uuml;nschten Pfad an:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose --project-directory \/full\/deployment\/path up<\/pre><p>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Container im Hintergrund ausf&uuml;hren &#128230;                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Docker Compose startet die bereitgestellte Anwendung standardm&auml;&szlig;ig in der aktuellen Terminalsitzung. Wenn Sie Ihr Projekt im Hintergrund erstellen und ausf&uuml;hren m&ouml;chten, f&uuml;gen Sie das Flag <strong>-d<\/strong> oder <strong>--detach<\/strong> hinzu.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><p class=\"wp-block-paragraph\">Sie k&ouml;nnen auch mehrere Flags kombinieren, indem Sie sie mit einem Backslash trennen. Verwenden Sie beispielsweise den folgenden Befehl, um eine Anwendung aus einer YAML-Datei mit einem bestimmten Namen in einem anderen Verzeichnis bereitzustellen:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose \\\n  -f \/path\/to\/my-docker-compose.yaml \\\n  --project-directory \/path\/to \\\n  up<\/pre><p class=\"wp-block-paragraph\">Wenn Sie Container entfernen, bleiben die Daten erhalten, da sie in persistenten Volumes gespeichert bleiben. Wenn Sie auch die Volumes entfernen m&ouml;chten, verwenden Sie das Flag <strong>&ndash;volumes<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose down --volumes<\/pre><h3 class=\"wp-block-heading\" id=\"h-common-docker-compose-commands\">H&auml;ufige Docker-Compose-Befehle<\/h3><p class=\"wp-block-paragraph\">Neben <strong>up<\/strong> und <strong>down<\/strong> gibt es weitere Docker-Compose-Befehle zur Verwaltung des gesamten Anwendungs-Stacks. Zu den am h&auml;ufigsten verwendeten geh&ouml;ren:<\/p><ul class=\"wp-block-list\">\n<li><strong>docker compose ps<\/strong> &ndash; listet die von Docker Compose verwalteten laufenden Container auf. Die Ausgabe enth&auml;lt unter anderem den Containernamen, das Image, den Befehl, den Service, den Status und die Ports.<\/li>\n\n\n\n<li><strong>docker compose logs<\/strong> &ndash; sammelt und zeigt Protokolle aller Services im Stack an. Wenn Sie das Flag <strong>-f<\/strong> hinzuf&uuml;gen, werden die Logs aller Container in Echtzeit ausgegeben.<\/li>\n\n\n\n<li><strong>docker compose start<\/strong> &ndash; startet vorhandene, zuvor gestoppte Container.<\/li>\n\n\n\n<li><strong>docker compose stop<\/strong> &ndash; stoppt laufende Container, ohne sie zu entfernen.<\/li>\n\n\n\n<li><strong>docker compose restart<\/strong> &ndash; startet Container sofort neu.<\/li>\n\n\n\n<li><strong>docker compose build<\/strong> &ndash; erzwingt den Neuaufbau von Images, die die build-Direktive in der YAML-Datei verwenden. Mit dem Flag <strong>&ndash;no-cache<\/strong> k&ouml;nnen Sie einen vollst&auml;ndigen Neuaufbau ohne Cache durchf&uuml;hren.<\/li>\n\n\n\n<li><strong>docker compose push<\/strong> &ndash; &uuml;bertr&auml;gt alle erstellten Images an ihre Remote-Registry.<\/li>\n\n\n\n<li><strong>docker compose pull<\/strong> &ndash; l&auml;dt alle Images herunter, die zum Aufbau des Stacks erforderlich sind, ohne Container zu starten.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-what-s-the-difference-between-docker-vs-docker-compose\">Was ist der Unterschied zwischen Docker und Docker Compose?<\/h2><p class=\"wp-block-paragraph\">Docker umfasst verschiedene Konzepte, Begriffe und Tools, die jeweils unterschiedliche Rollen innerhalb des Container-&Ouml;kosystems erf&uuml;llen. Wenn Sie diese verstehen, k&ouml;nnen Sie die Plattform effizienter einsetzen.<\/p><p class=\"wp-block-paragraph\">Docker Compose ist Teil des Docker-&Ouml;kosystems und wird h&auml;ufig mit der Docker CLI verwechselt. Beide sind Kommandozeilenwerkzeuge zur Verwaltung von Docker-Ressourcen, unterscheiden sich jedoch in mehreren wichtigen Punkten.<\/p><p class=\"wp-block-paragraph\">Hier ist ein Vergleich zwischen Docker CLI und Docker Compose.<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Aspekt<\/strong> <\/td><td><strong>Docker-CLI<\/strong> <\/td><td><strong>Docker Compose<\/strong> <\/td><\/tr><tr><td><strong>Anwendungsfall<\/strong><\/td><td>Am besten geeignet f&uuml;r Setups mit einem einzelnen Container<\/td><td>Entwickelt f&uuml;r Anwendungen mit mehreren Containern<\/td><\/tr><tr><td><strong>Orchestrierung<\/strong><\/td><td>Manuell &ndash; Sie m&uuml;ssen jeden Container einzeln starten<\/td><td>Automatisiert &ndash; alle Services werden &uuml;ber eine einzige YAML-Datei verwaltet<\/td><\/tr><tr><td><strong>Konfigurationsformat<\/strong><\/td><td>Die Konfiguration wird direkt im Befehl mithilfe von Flags angegeben<\/td><td>Die Konfiguration wird in einer YAML-Datei definiert<\/td><\/tr><tr><td><strong>Wiederverwendbarkeit und Portabilit&auml;t<\/strong><\/td><td>Das Teilen und Reproduzieren komplexer Setups ist schwieriger, da die Konfiguration innerhalb einzelner Befehle definiert wird<\/td><td>Konfigurationen lassen sich leicht versionieren und wiederverwenden, da Projekte aus einer eigenst&auml;ndigen Konfigurationsdatei erstellt werden k&ouml;nnen<\/td><\/tr><tr><td><strong>Test- und Entwicklungsumgebungen<\/strong><\/td><td>F&uuml;r Entwicklungsumgebungen mit mehreren Services aufwendig zu verwalten<\/td><td>Ideal f&uuml;r die lokale Entwicklung, da alle Services in einer einzigen Datei definiert sind<\/td><\/tr><tr><td><strong>Produktive Nutzung<\/strong> <\/td><td>F&uuml;r den Produktiveinsatz einfacher Projekte geeignet, jedoch weniger f&uuml;r Anwendungen mit mehreren Services<\/td><td>Kann auch in Produktionsumgebungen eingesetzt werden, wird bei gr&ouml;&szlig;eren Projekten jedoch h&auml;ufig durch Docker Swarm oder Kubernetes ersetzt<\/td><\/tr><tr><td><strong>Lernkurve<\/strong><\/td><td>F&uuml;r Einsteiger einfacher, da nur eine Anwendung mit einem einzelnen Container verwaltet wird<\/td><td>Etwas steiler, daf&uuml;r besser f&uuml;r reale Projekte geeignet<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"h-what-s-the-next-step-after-using-docker-compose\">Was ist der n&auml;chste Schritt nach der Verwendung von Docker Compose?<\/h2><p class=\"wp-block-paragraph\">Sobald Sie gelernt haben, mit Docker Compose zu arbeiten, k&ouml;nnen Sie das Tool verwenden, um Ihr Multi-Service-Projekt effizient zu verwalten. In der Praxis kann es jedoch erforderlich sein, direkt mit einzelnen Containern zu arbeiten, beispielsweise um einen neuen Service hinzuzuf&uuml;gen oder Probleme in einem bestimmten Teil Ihrer Anwendung zu beheben.<\/p><p class=\"wp-block-paragraph\">Vor diesem Hintergrund ist es wichtig zu lernen, wie Sie einen Docker-Container erstellen, damit Sie im gesamten Docker-&Ouml;kosystem effizienter arbeiten k&ouml;nnen.<\/p><p class=\"wp-block-paragraph\">Beachten Sie au&szlig;erdem, dass Docker Compose und Container zwar zentrale Konzepte dieser Containerisierungsplattform sind, Sie jedoch weitere Tools kennenlernen m&uuml;ssen, wenn Ihr Projekt w&auml;chst. Beispielsweise k&ouml;nnen Sie zu Kubernetes oder Docker Swarm wechseln, um mehrere Container zuverl&auml;ssiger zu orchestrieren.<\/p><p class=\"wp-block-paragraph\">Wenn Sie eine containerisierte Anwendung auf der <a href=\"\/de\/vps\">VPS-Hosting-L&ouml;sung von Hostinger<\/a> bereitstellen m&ouml;chten, k&ouml;nnen Sie die Funktion <strong>Docker Compose Manager<\/strong> verwenden. Diese stellt ein in hPanel integriertes Verwaltungs-Dashboard bereit, mit dem Sie die Bereitstellung und Verwaltung Docker-basierter Anwendungen optimieren k&ouml;nnen.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/de\/vps-server\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-3556\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Docker Compose ist ein Tool zum Definieren und Ausf&uuml;hren von Anwendungen mit mehreren Containern. Entwickler verwenden es, um die Verwaltung miteinander verbundener Dienste zu vereinfachen, etwa durch die Kombination einer Front-End-Anwendung mit einem Datenbankserver, sodass sich der gesamte Anwendungsstack einfacher verwalten l&auml;sst. Mithilfe einer einzigen YAML-Datei erm&ouml;glicht Docker Compose die Definition der f&uuml;r eine Anwendung [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/de\/tutorials\/was-ist-docker-compose\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":10084,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Was ist Docker Compose? Definition und Anwendung","rank_math_description":"Definieren und verwalten Sie mit Docker Compose m\u00fchelos Multi-Container-Anwendungen. Erfahren Sie, wie Sie damit Ihre Docker-Projekte vereinfachen k\u00f6nnen.","rank_math_focus_keyword":"was ist docker compose","footnotes":""},"categories":[25],"tags":[],"class_list":["post-10087","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/what-is-docker-compose\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/o-que-e-docker-compose\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/docker-compose-cest-quoi\/","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/was-ist-docker-compose\/","default":0},{"locale":"it-IT","link":"https:\/\/www.hostinger.com\/it\/tutorial\/cos-e-docker-compose\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/what-is-docker-compose\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/what-is-docker-compose\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/what-is-docker-compose\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/what-is-docker-compose\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/what-is-docker-compose\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/what-is-docker-compose\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/what-is-docker-compose\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/o-que-e-docker-compose\/","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/10087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/comments?post=10087"}],"version-history":[{"count":14,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/10087\/revisions"}],"predecessor-version":[{"id":10425,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/10087\/revisions\/10425"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/media\/10084"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/media?parent=10087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/categories?post=10087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/tags?post=10087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}