From 0667c0e702fdb9929dacd0d682573e5e1e65a666 Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Mon, 4 Dec 2023 14:35:08 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'cryptide=5Fproject?= =?UTF-8?q?/Dockerfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptide_project/Dockerfile | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/cryptide_project/Dockerfile b/cryptide_project/Dockerfile index 2534ae1..b9f9df9 100644 --- a/cryptide_project/Dockerfile +++ b/cryptide_project/Dockerfile @@ -1,20 +1,31 @@ -# Utilisez une image Node.js comme base -FROM node:14-alpine +# Étape 1 : Construire l'application React +FROM node:14 AS build -# Définissez le répertoire de travail dans le conteneur WORKDIR /app -# Copiez le fichier package.json et le fichier package-lock.json dans le répertoire de travail -COPY package*.json ./ +# Copier le fichier package.json et yarn.lock (ou package-lock.json si vous utilisez npm) +COPY package.json yarn.lock ./ -# Installez les dépendances -RUN npm install +# Installer les dépendances +RUN yarn install -# Copiez tous les fichiers de l'application dans le répertoire de travail +# Copier le reste des fichiers de l'application COPY . . -# Exposez le port 8080 -EXPOSE 3000 +# Construire l'application +RUN yarn build -# Commande pour exécuter l'application lorsque le conteneur démarre -CMD ["npm", "start"] +# Étape 2 : Configurer Nginx et copier les fichiers construits +FROM nginx:alpine + +# Copier les fichiers construits depuis l'étape précédente +COPY --from=build /app/build /usr/share/nginx/html + +# Copier la configuration personnalisée pour Nginx (si nécessaire) +COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Exposer le port 80 +EXPOSE 80 + +# Commande pour démarrer Nginx lorsqu'un conteneur basé sur cette image est lancé +CMD ["nginx", "-g", "daemon off;"]