Verwendung von Docker Compose für Multi-Container-Anwendungen

watch 4m, 24s
views 2

10:26, 21.05.2026

Artikel Inhalt
arrow

  • 1. Tools zur Verwaltung von Multi-Container-Anwendungen
  • 1.1 Überblick über Podman
  • 1.1.1 So installieren Sie Podman
  • 1.2 Einführung in podman-docker
  • 1.2.1 Installation von podman-docker
  • 1.3 Überblick über docker-compose
  • 1.3.1 So installieren Sie Docker Compose
  • Erstellen einer Multi-Container-Anwendung
  • 2.1 Schreiben der Datei compose.yml
  • 2.1.1 Dienste definieren
  • 2.1.2 Netzwerke konfigurieren
  • 2.1.3 Beispiel für eine compose.yml-Datei
  • 2.2 Bereitstellen von Multi-Container-Anwendungen
  • Rechtliche Hinweise

1. Tools zur Verwaltung von Multi-Container-Anwendungen

Moderne Anwendungen laufen selten auf einem einzigen Dienst oder Container. Stattdessen stützen sie sich oft auf mehrere miteinander verbundene Dienste wie Webserver, Datenbanken und Caches. Die manuelle Verwaltung dieser Komponenten kann mühsam und fehleranfällig sein. Glücklicherweise vereinfachen Tools wie Docker Compose den Prozess der Definition, Bereitstellung und Verwaltung von Multi-Container-Anwendungen.

In diesem Artikel werden wir verschiedene Tools zur Verwaltung von Multi-Container-Umgebungen untersuchen, die Erstellung und Bereitstellung eines Projekts mit Docker Compose durchgehen und Best Practices für die effiziente Verwaltung Ihrer Dienste besprechen.

1.1 Überblick über Podman

Podman, kurz für „Pod Manager Tool“, ist eine Open-Source-Container-Engine, die als direkter Ersatz für Docker konzipiert wurde. Sie bietet eine Befehlszeilenschnittstelle zur Verwaltung von Containern.

Podman benötigt keinen Daemon zum Ausführen und ist mit systemd kompatibel, was es ermöglicht, Container über systemd-Einheiten zu steuern (und systemd innerhalb der Container auszuführen).

Es hilft Benutzern dabei, Container in Pods zu organisieren, die sich dasselbe Netzwerk und dieselben Ressourcen teilen.

1.1.1 So installieren Sie Podman

So installieren Sie Podman auf einem Linux-basierten System:

sudo apt update sudo apt install -y podman

Für macOS und Windows können Sie das Podman-Desktop-Installationsprogramm verwenden, das auf der offiziellen Website

1.2 Einführung in podman-docker

podman-docker ist eine Kompatibilitätsschicht, die es Ihnen ermöglicht, Docker-CLI-Befehle mit Podman zu verwenden. Dies ist besonders hilfreich, wenn Sie von Docker umsteigen oder mit Tools arbeiten, die Docker-Befehle erwarten.

1.2.1 Installation von podman-docker

Installieren Sie podman-docker , um die Kompatibilität mit Docker-Befehlen zu aktivieren:

sudo apt install -y podman-docker

Nach der Installation werden Befehle wie docker run, docker build, oder docker-compose von Podman interpretiert.

1.3 Überblick über docker-compose

Docker Compose ist ein Tool zum Ausführen von Docker-Anwendungen mit mehreren Containern unter Verwendung einer einfachen YAML-Konfigurationsdatei. Es ermöglicht Ihnen, alle Ihre Dienste, Netzwerke und Volumes in einer einzigen Datei zu beschreiben und gemeinsam zu verwalten. Docker Compose unterstützt mehrere isolierte Umgebungen auf einem einzigen Host sowie Variablen zwischen diesen. Das bedeutet, dass Sie mit diesem Tool Container, an denen Änderungen vorgenommen wurden, neu erstellen können, ohne die Multi-Container-Anwendung selbst zu verändern.

1.3.1 So installieren Sie Docker Compose

Sie können Docker Compose mithilfe des offiziellen Docker-CLI-Plugins installieren:

sudo apt update sudo apt install docker-compose-plugin

Oder für eine eigenständige Installation (zugunsten des Plugins veraltet):

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-
compose-$(uname -s)-$(uname -m)" \ 
-o /usr/local/bin/docker-compose 
sudo chmod +x /usr/local/bin/docker-compose

Überprüfen Sie die Installation:

docker compose version

Erstellen einer Multi-Container-Anwendung

Erstellen wir eine einfache Webanwendung, bestehend aus einem Webserver (Nginx), einem Backend (Flask) und einer Datenbank (PostgreSQL).

2.1 Schreiben der Datei compose.yml

Die compose.yml Datei (früher docker-compose.yml) enthält alle Dienstdefinitionen.

2.1.1 Dienste definieren

Jeder Dienst repräsentiert einen Container. Sie können das Image, den Build-Kontext, die Ports, die Volumes und die Umgebungsvariablen angeben.

2.1.2 Netzwerke konfigurieren

Mit Compose können Sie benutzerdefinierte Netzwerke erstellen, damit Container über ihre Dienstnamen miteinander kommunizieren können.

2.1.3 Beispiel für eine compose.yml-Datei

version: "3.9" 
services: 
   web: 
     build: ./web 
     ports:
- "80:80" 
     depends on:
- backend


backend: build: ./backend 
environment:
- DATABASE_URL=postgres://user:password@db:5432/mydb 
depends_on:
- db


db: 
  image: postgres:15 
  restart: always 
  environment: 
    POSTGRES_DB: mydb 
    POSTGRES_USER: user 
    POSTGRES_PASSWORD: password 
  volumes:
- db_data:/var/lib/postgresql/data
volumes: 
  db_data:

In dieser Konfiguration:

  • web ist das von Nginx bereitgestellte Frontend.
  • backend ist ein Flask-API-Server.
  • db ist ein PostgreSQL-Container mit persistenter Speicherung.

2.2 Bereitstellen von Multi-Container-Anwendungen

Sobald Ihre compose.yml -Datei fertig ist, stellen Sie Ihre Anwendung mit folgendem Befehl bereit:

docker compose up --build

Dieser Befehl erstellt die Images (falls erforderlich) und startet alle Dienste. Sie können die Anwendung mit folgendem Befehl stoppen:

docker compose down

Um die Dienste im Hintergrund auszuführen:

docker compose up -d

Verwalten einer Multi-Container-Anwendung

Docker Compose erleichtert auch die Verwaltung Ihrer Dienste. Es gibt Möglichkeiten für:

  • Skalierung von Diensten:
docker compose up -d --scale backend=3

Dies führt drei Instanzen des Backend-Dienstes aus (nützlich für den Lastausgleich).

  • Anzeigen von Protokollen:
docker compose logs -f
  • Überprüfen des Dienstzustands:
docker compose ps
  • Neu erstellen von Images:
docker compose build
  • Einmalige Befehle ausführen:
docker compose exec backend flask db upgrade

Mit Docker Compose können Sie den Lebenszyklus Ihrer Anwendung auf vorhersehbare und wiederholbare Weise verwalten.

Mit Docker Compose wird die Verwaltung von Anwendungen mit mehreren Containern wesentlich einfacher, insbesondere in Umgebungen, die eine konsistente Einrichtung und Abwicklung erfordern. Ganz gleich, ob Sie lokal entwickeln oder die Produktion vorbereiten – mit Compose können Sie Ihre gesamte App-Architektur in einer einzigen Datei definieren und alles unter Kontrolle behalten.

Rechtliche Hinweise

Docker ist eine Marke von Docker, Inc. Podman ist ein Open-Source-Projekt, das von Red Hat und anderen gepflegt wird. Die gesamte erwähnte Software unterliegt den jeweiligen Open-Source-Lizenzen.

Achten Sie bei der Bereitstellung von Anwendungen in Produktionsumgebungen darauf, dass Sie die Lizenzanforderungen für alle von Ihnen verwendeten Images und Abhängigkeiten einhalten.

Teilen

War dieser Artikel für Sie hilfreich?

VPS beliebte Angebote

-9.8%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 1024 Linux

4.98 /mo

/mo

Alle 12 Monate abgerechnet

-15.6%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
1 TB
KVM-SSD 512 Metered Linux

5.33 /mo

/mo

Alle 12 Monate abgerechnet

-20.5%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
10 TB
KVM-SSD 16384 Metered Linux

95 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
10 Epyc Cores
RAM
RAM
64GB
Space
Space
400 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 65536
OS
CentOS
Software
Software
Keitaro

149.04 /mo

/mo

Alle 12 Monate abgerechnet

-9.7%

CPU
CPU
10 Epyc Cores
RAM
RAM
64 GB
Space
Space
300 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 65536 Windows

139.49 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
16 GB
Space
Space
150 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 16384
OS
CentOS
Software
Software
Keitaro

55.54 /mo

/mo

Alle 12 Monate abgerechnet

-15.3%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
40 Mbps
DDoS Protected SSD-wKVM 2048 Windows

54 /mo

/mo

Alle 12 Monate abgerechnet

-24.7%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
4 TB
KVM-SSD 4096 Metered Linux

31 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
aiKVM-NVMe 4096 Linux

16.84 /mo

/mo

Alle 12 Monate abgerechnet

-20.4%

CPU
CPU
2 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
300 GB
KVM-SSD 2048 HK Linux

18 /mo

/mo

Alle 12 Monate abgerechnet

Weitere Artikel zu diesem Thema

cookie

Cookies und Datenschutz akzeptieren?

Wir verwenden Cookies, um sicherzustellen, dass wir Ihnen die beste Erfahrung auf unserer Website bieten. Wenn Sie fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass Sie mit dem Empfang aller Cookies auf der HostZealot-Website einverstanden sind.