|
|
@ -5,10 +5,10 @@ FROM node:14-alpine as builder
|
|
|
|
WORKDIR /app
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
|
|
# Copier le package.json et le package-lock.json pour installer les dépendances
|
|
|
|
# Copier le package.json et le package-lock.json pour installer les dépendances
|
|
|
|
COPY package.json ./
|
|
|
|
COPY package*.json ./
|
|
|
|
|
|
|
|
|
|
|
|
# Installer les dépendances
|
|
|
|
# Installer les dépendances
|
|
|
|
RUN npm install --force
|
|
|
|
RUN npm install
|
|
|
|
|
|
|
|
|
|
|
|
# Copier les fichiers du projet dans le conteneur
|
|
|
|
# Copier les fichiers du projet dans le conteneur
|
|
|
|
COPY . .
|
|
|
|
COPY . .
|
|
|
@ -16,14 +16,20 @@ COPY . .
|
|
|
|
# Construire l'application React
|
|
|
|
# Construire l'application React
|
|
|
|
RUN npm run build
|
|
|
|
RUN npm run build
|
|
|
|
|
|
|
|
|
|
|
|
# Utiliser une image légère basée sur Nginx pour servir l'application
|
|
|
|
# Utiliser une image légère basée sur Node.js pour servir l'application avec serve
|
|
|
|
FROM nginx:alpine
|
|
|
|
FROM node:14-alpine
|
|
|
|
|
|
|
|
|
|
|
|
# Copier les fichiers construits à partir du builder vers le répertoire de travail du serveur Nginx
|
|
|
|
# Installer serve globalement
|
|
|
|
COPY --from=builder /app/build /usr/share/nginx/html
|
|
|
|
RUN npm install -g serve
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Définir le répertoire de travail dans le conteneur
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Copier les fichiers construits à partir du builder vers le répertoire de travail du serveur serve
|
|
|
|
|
|
|
|
COPY --from=builder /app/build /app
|
|
|
|
|
|
|
|
|
|
|
|
# Exposer le port 80 pour le trafic HTTP
|
|
|
|
# Exposer le port 80 pour le trafic HTTP
|
|
|
|
EXPOSE 80
|
|
|
|
EXPOSE 80
|
|
|
|
|
|
|
|
|
|
|
|
# La commande CMD est utilisée pour démarrer le serveur Nginx lorsque le conteneur démarre
|
|
|
|
# La commande CMD est utilisée pour démarrer serve lorsque le conteneur démarre
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|
|
|
|
CMD ["serve", "-s", "build", "-p", "80"]
|
|
|
|