portfolio-website/Dockerfile
2025-10-02 16:54:31 +02:00

32 lines
606 B
Docker

# Étape 1: Build
FROM node:18-alpine AS builder
WORKDIR /app
# Copier les fichiers de dépendances
COPY package*.json ./
# Installer les dépendances
RUN npm ci --only=production
# Copier le code source
COPY . .
# Build l'application en mode production
RUN npm run build
# Étape 2: Production avec Nginx
FROM nginx:alpine
# Copier les fichiers buildés depuis l'étape builder
COPY --from=builder /app/dist /usr/share/nginx/html
# Copier la configuration Nginx optimisée
COPY nginx.conf /etc/nginx/nginx.conf
# Exposer le port 80
EXPOSE 80
# Démarrer Nginx
CMD ["nginx", "-g", "daemon off;"]