20 lines
618 B
Docker
20 lines
618 B
Docker
# 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"] |