Anwendungen mit mehreren Services bereitstellen
Stellen Sie mit Docker Compose eine Full-Stack-Anwendung mit Datenbank und Backend-Service bereit.
Anwendungen mit mehreren Services bereitstellen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Anwendungen mit mehreren Services bereitstellen
Willkommen! In dieser Lektion lernen Sie, wie Sie eine Full-Stack-Anwendung mit Docker Compose online bereitstellen.
Sie erfahren, wie Sie mehrere Services, beispielsweise eine Webanwendung und eine Datenbank, definieren und anschließend gemeinsam bereitstellen und verwalten.

Unser Beispiel: Webanwendung und Datenbank
Wir stellen eine einfache Webanwendung bereit, die eine Verbindung zu einer Datenbank herstellt. Das ist ein typischer Aufbau für viele Anwendungen aus der Praxis.
- Webservice: Eine Python-Flask-Anwendung, die eine einfache Webseite bereitstellt.
- Datenbankservice: Eine PostgreSQL-Datenbank zum Speichern von Daten.
Docker Compose macht die Orchestrierung dieser beiden Services einfach!
Das Web-Image erstellen
Unser Webservice benötigt ein eigenes Docker-Image. Hier sehen Sie eine vereinfachte Dockerfile, die unsere Python-Flask-Anwendung erstellt.
Sie installiert Flask und einen PostgreSQL-Connector und führt anschließend unsere app.py aus.
FROM python:3.9-slim-buster
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir flask psycopg2-binary
EXPOSE 5000
CMD ["python", "app.py"]Die `docker-compose.yml`
Diese docker-compose.yml-Datei definiert unsere beiden Services: web und db. Beachten Sie, wie der web-Service aus unserer Dockerfile erstellt wird und mithilfe von Umgebungsvariablen eine Verbindung zum db-Service herstellt.
version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
environment:
DB_HOST: db
DB_NAME: mydatabase
DB_USER: user
DB_PASSWORD: password
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_DB: mydatabase
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:Ihre Services starten
Um alle in Ihrer Datei docker-compose.yml definierten Services zu starten, verwenden Sie den Befehl docker compose up.
Die Option -d führt die Container im „detached“-Modus aus, das heißt, sie werden im Hintergrund ausgeführt.
# This command starts your multi-service app
# and runs it in the background.
docker compose up -dLaufende Container überprüfen
Nachdem Sie docker compose up -d ausgeführt haben, sollten Sie überprüfen, ob alle Ihre Services erwartungsgemäß laufen.
Der Befehl docker compose ps listet die Services, ihren Status und ihre Ports auf.
# Check the status of your services
docker compose psEine Verbindung zu Ihrer Anwendung herstellen
Wenn die Services laufen, können Sie auf Ihre Webanwendung zugreifen.
- Öffnen Sie Ihren Webbrowser.
- Rufen Sie
http://localhost:5000auf.
Sie sollten eine Nachricht von unserer Flask-Anwendung sehen, die bestätigt, dass die Verbindung zur PostgreSQL-Datenbank hergestellt wurde!
Services skalieren
Eine leistungsstarke Funktion von Docker Compose ist die Skalierung von Services. Wenn Ihre Webanwendung mehr Datenverkehr verarbeiten muss, können Sie die Anzahl der Instanzen des Webservices problemlos erhöhen.
Verwenden Sie die Option --scale zusammen mit docker compose up.
# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -dServices stoppen und entfernen
Wenn Sie Ihre Anwendung nicht mehr benötigen, können Sie alle Services und die zugehörigen Netzwerke stoppen und entfernen, die in Ihrer docker-compose.yml definiert sind.
Der Befehl docker compose down übernimmt diese Bereinigung für Sie.
# Stop and remove all services
docker compose downKurze Überprüfung
Betrachten Sie die von uns verwendete docker-compose.yml. Sie haben Ihre Anwendung gerade mit docker compose up -d gestartet.
Welcher Befehl wird hauptsächlich verwendet, um alle laufenden Services und die zugehörigen Ressourcen zu stoppen und zu entfernen?
Zusammenfassung und nächste Schritte
Sehr gut! Sie haben gelernt, wie Sie eine Anwendung mit mehreren Services mithilfe von Docker Compose bereitstellen und verwalten.
- Wir haben Services in
docker-compose.ymldefiniert. - Wir haben
docker compose up -dverwendet, um Services zu starten. - Wir haben den Status mit
docker compose psüberprüft. - Wir haben Services skaliert und
docker compose downzur Bereinigung verwendet.
Dies ist eine grundlegende Fähigkeit für die lokale Entwicklung und das Testen komplexer Anwendungen!
Häufig gestellte Fragen
Ist die Lektion „Anwendungen mit mehreren Services bereitstellen“ kostenlos?
Ja — der vollständige Text von „Anwendungen mit mehreren Services bereitstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Anwendungen mit mehreren Services bereitstellen“?
Stellen Sie mit Docker Compose eine Full-Stack-Anwendung mit Datenbank und Backend-Service bereit. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Anwendungen mit mehreren Services bereitstellen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Was ist Docker Compose?
- Eine Compose-Datei schreiben
- Anwendungen mit mehreren Services bereitstellen
- Umgebungsvariablen und .env-Dateien