# Étape 1 : Construction de l'application FROM node:18-alpine AS builder # Définir le répertoire de travail WORKDIR /app # Copier le package.json et package-lock.json depuis le dossier 'project' # Le contexte de construction est './project' donc Docker peut les trouver COPY package.json ./ COPY package-lock.json ./ # Installer les dépendances RUN npm install # Copier le reste des fichiers du dossier 'project' # Cela inclut le dossier 'src' et tout le reste COPY . . # Lancer la compilation de l'application pour la production RUN npm run build # Étape 2 : Servir l'application avec Nginx FROM nginx:alpine # Copier les fichiers du build de l'étape précédente COPY --from=builder /app/build /usr/share/nginx/html # Exposer le port 80 EXPOSE 80 # Commande pour démarrer Nginx CMD ["nginx", "-g", "daemon off;"]