32 lines
933 B
Docker
32 lines
933 B
Docker
# Verwende das offizielle Node.js 14 Image als Basis
|
|
FROM node:22 AS builder
|
|
|
|
# Setze das Arbeitsverzeichnis im Container
|
|
WORKDIR /app
|
|
|
|
# Kopiere die Paketkonfiguration und die Lock-Dateien in das Arbeitsverzeichnis
|
|
COPY package*.json ./
|
|
|
|
# Installiere Abhängigkeiten
|
|
RUN npm install
|
|
|
|
# Kopiere den Rest des Codes in das Arbeitsverzeichnis
|
|
COPY . .
|
|
|
|
# Baue die Angular-Anwendung
|
|
RUN npm run build
|
|
|
|
# Verwende ein leichtes Nginx-Image als Basis für die Bereitstellung
|
|
FROM nginx:alpine
|
|
|
|
# Kopiere die Nginx-Konfiguration in den Container
|
|
COPY nginx.conf /etc/nginx/nginx.conf
|
|
|
|
# Kopiere die kompilierte Angular-Anwendung aus dem Builder-Image in den Nginx-Container
|
|
COPY --from=builder /app/dist/client/browser /usr/share/nginx/html
|
|
|
|
# Der Standard-HTTP-Port von Nginx ist 80, daher muss er freigegeben werden
|
|
EXPOSE 80
|
|
|
|
# Starte den Nginx-Server im Vordergrund, wenn der Container gestartet wird
|
|
CMD ["nginx", "-g", "daemon off;"] |