Docker Compose - Docker: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 27: | Zeile 27: | ||
*Hier werden zwei Services definiert '''nginx als Webserver''' und '''postgres als Datenbank''' | *Hier werden zwei Services definiert '''nginx als Webserver''' und '''postgres als Datenbank''' | ||
| + | |||
| + | =Vorteile von Docker Compose= | ||
| + | *Einfache Verwaltung bei komplexeren Anwendungen durch deklarative Konfigurationsdateien | ||
| + | *Anwendungen können leicht auf verschiedene Umgebungen (lokal, Test, Produktion) übertragen werden. | ||
| + | *Jeder Service läuft in einem eigenen Container, was die Isolierung und Skalierung der Services erleichtert. | ||
| + | *Schnellere Entwicklungszyklen durch einfache Handhabung und Automatisierung. | ||
Version vom 21. Mai 2024, 21:07 Uhr
Was ist Docker Compose?
- Docker Compose ermöglicht es Multi-Container-Anwendungen zu definieren und auszuführen
- Es verwendet eine YAML-Datei um die Services, Netzwerke und Volumen zu definieren und zum starten bzw. stoppen
- Die docker-compose.yml umfasst verschiedene Anwendungen in einer Datei und stellt so eine Multi-Container-Anwendung dar
- Mithilfe der Befehle docker-compose up und docker-compose down wird die docker-compose.yml ausgeführt und die Container gestartet oder heruntergefahren
- Docker Compose verwaltet eigenständig Netzwerke und Volumen, die zwischen den Containern geteilt werden.
Beispiel docker-compose.yml
version: '3'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./web:/usr/share/nginx/html
db:
image: postgres:latest
environment:
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
volumes:
- ./data:/var/lib/postgresql/data
- Hier werden zwei Services definiert nginx als Webserver und postgres als Datenbank
Vorteile von Docker Compose
- Einfache Verwaltung bei komplexeren Anwendungen durch deklarative Konfigurationsdateien
- Anwendungen können leicht auf verschiedene Umgebungen (lokal, Test, Produktion) übertragen werden.
- Jeder Service läuft in einem eigenen Container, was die Isolierung und Skalierung der Services erleichtert.
- Schnellere Entwicklungszyklen durch einfache Handhabung und Automatisierung.