Docker Compose-Workflow
Docker Compose verstehen
Docker Compose ist ein Werkzeug zur Definition und Ausführung von Multi-Container-Docker-Anwendungen. Es verwendet YAML-Dateien zur Konfiguration von Anwendungsdiensten, Netzwerken und Volumes, wodurch komplexe Anwendungsarchitekturen mit einfacher Konfiguration ermöglicht werden.
graph TD
A[Docker Compose YAML] --> B[Dienstkonfiguration]
B --> C[Container-Orchestrierung]
B --> D[Netzwerkeinrichtung]
B --> E[Volumeverwaltung]
Installation unter Ubuntu 22.04
## Docker Compose installieren
sudo apt update
sudo apt install docker-compose-plugin
## Installation überprüfen
docker compose version
Docker Compose-Konfigurationsdatei
Eine typische docker-compose.yml-Struktur umfasst Dienste, Netzwerke und Volumes:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "8080:80"
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
postgres-data:
Wichtige Docker Compose-Befehle
| Befehl |
Beschreibung |
| docker compose up |
Container erstellen und starten |
| docker compose down |
Container stoppen und entfernen |
| docker compose ps |
Container auflisten |
| docker compose logs |
Container-Logs anzeigen |
| docker compose build |
Dienste erstellen oder neu erstellen |
Beispiel für eine Multi-Container-Anwendung
version: "3.8"
services:
frontend:
build: ./frontend
ports:
- "3000:3000"
backend:
build: ./backend
ports:
- "5000:5000"
depends_on:
- database
database:
image: mongo:latest
volumes:
- mongodb_data:/data/db
volumes:
mongodb_data:
Erweiterte Konfigurationstechniken
services:
web:
restart: always
environment:
- DEBUG=True
networks:
- app_network
deploy:
replicas: 3
update_config:
parallelism: 1
networks:
app_network:
driver: bridge