diff --git a/Dockerfile b/Dockerfile index b5904dc..b65c19e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,20 @@ -# Utiliser l'image Nginx comme base -FROM nginx:alpine +# Utiliser une image Node officielle comme base +FROM node:18-alpine -# Copier le contenu du dossier src dans le répertoire par défaut de Nginx -COPY src /usr/share/nginx/html +# Définir le répertoire de travail dans le conteneur +WORKDIR /app -# Exposer le port 80 pour le serveur Nginx -EXPOSE 80 +# Copier les fichiers package.json et package-lock.json dans le conteneur +COPY src/package*.json ./ + +# Installer les dépendances de l'application +RUN npm install --production + +# Copier le reste des fichiers du projet dans le conteneur +COPY src/ . + +# Exposer le port sur lequel l'application va s'exécuter (ex: 3000) +EXPOSE 3001 + +# Commande par défaut pour démarrer l'application +CMD ["npm", "start"] diff --git a/docker-compose.yml b/docker-compose.yml index 8301953..f2eb4eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,15 @@ version: '3' services: - frontend: + app: build: context: . dockerfile: Dockerfile - ports: - - "8086:80" # Le port 8080 de l'hôte est mappé au port 80 du conteneur + container_name: app_container volumes: - - ./src:/usr/share/nginx/html + - ./src:/app + ports: + - "3000:3000" + environment: + NODE_ENV: production restart: always