# Nutzen der schlanken Node.js Alpine-Variante als Basis FROM node:20-alpine # Arbeitsverzeichnis im Container festlegen WORKDIR /app # Kopiere zuerst die package.json, um den Docker-Cache für die npm-Installation optimal zu nutzen COPY package*.json ./ # Installiere alle Abhängigkeiten (inklusive DevDependencies wie Nodemon) RUN npm install # Kopiere den restlichen Quellcode (wird im Dev-Betrieb durch das Compose-Volume überschrieben) COPY . . # Exponiere den internen Express-Port EXPOSE 3000 # Starte die Anwendung über das in der package.json definierte Dev-Skript (Nodemon) CMD ["npm", "run", "dev"]