MERN-Stack komplett mit Compose
Der MERN-Stack besteht aus MongoDB, Express.js, React und Node.js.
Mit Docker Compose kann die gesamte Anwendung samt Frontend, Backend und Datenbank als zusammengehörige Services verwaltet werden.
Komplette docker-compose.yml für MERN
Abschnitt betitelt „Komplette docker-compose.yml für MERN“Eine mögliche Grundstruktur für ein MERN-Setup:
services: mongo: image: mongo:7.0 ports: - "27017:27017" volumes: - mongo-data:/data/db
backend: build: ./backend ports: - "5000:5000" environment: - MONGO_URL=mongo://mongo:27017/meinedb depends_on: - mongo
frontend: build: ./frontend ports: - "3000:80" depends_on: - backend
volumes: mongo-data:Kurz erklärt:
- mongo: Die Datenbank mit persistentem Speicher
- backend: Express-API, wird aus einem lokalen Dockerfile gebaut
- frontend: React-App, ebenfalls per eigenem Dockerfile gebaut und läuft z. B. auf nginx
- depends_on: Definiert die Start-Reihenfolge der Services
- volumes: Für Datenpersistenz von MongoDB
Befehle:
-
Aufbau/Start aller Container:
Terminal-Fenster docker compose up --build -
Stoppen aller Container:
Terminal-Fenster docker compose down
Aufgabe
Abschnitt betitelt „Aufgabe“Im nächsten Kapitel folgt, wie React-Apps optimal mit Multi-Stage-Builds und nginx dockerisiert werden können.
Danke für Ihr Feedback!