You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1016 B
38 lines
1016 B
# Utilisation d'une image de Node.js avec Alpine Linux comme système d'exploitation de base
|
|
FROM node:14-alpine as builder
|
|
|
|
# Définir le répertoire de travail dans le conteneur
|
|
WORKDIR /app
|
|
|
|
# Copier le package.json et le package-lock.json pour installer les dépendances
|
|
COPY package*.json ./
|
|
|
|
# Installer les dépendances
|
|
RUN npm install
|
|
|
|
# Copier les fichiers du projet dans le conteneur
|
|
COPY . .
|
|
|
|
# Construire l'application React
|
|
RUN npm run build
|
|
|
|
# Utiliser une image légère basée sur Node.js pour servir l'application avec serve
|
|
FROM node:14-alpine
|
|
|
|
# Définir le répertoire de travail dans le conteneur
|
|
WORKDIR /app
|
|
|
|
# Installer serve globalement
|
|
RUN npm install serve --force
|
|
|
|
# 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
|
|
EXPOSE 8080
|
|
|
|
RUN ls
|
|
|
|
# La commande CMD est utilisée pour démarrer serve lorsque le conteneur démarre
|
|
CMD ["serve", "-s", ".", "-p", "8080"]
|