Ajout de la configuration Docker
This commit is contained in:
30
Dockerfile
Normal file
30
Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
||||
# ---- Étape 1 : Build ----
|
||||
# On utilise une image Node.js (version Alpine pour sa légèreté) pour construire le projet.
|
||||
# L'alias "builder" nous permettra de réutiliser son contenu plus tard.
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
# On définit le répertoire de travail dans le conteneur.
|
||||
WORKDIR /app
|
||||
|
||||
# On copie les fichiers de dépendances.
|
||||
COPY package*.json ./
|
||||
|
||||
# On installe les dépendances du projet.
|
||||
RUN npm install
|
||||
|
||||
# On copie tout le reste du code source.
|
||||
COPY . .
|
||||
|
||||
# On lance la commande de build d'Astro.
|
||||
RUN npm run build
|
||||
|
||||
# ---- Étape 2 : Serve ----
|
||||
# On part d'une image Nginx très légère pour servir nos fichiers statiques.
|
||||
FROM nginx:stable-alpine
|
||||
|
||||
# On copie uniquement le résultat du build (le dossier /app/dist) de l'étape "builder"
|
||||
# dans le dossier par défaut de Nginx qui sert les pages web.
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
|
||||
# On expose le port 80 pour pouvoir accéder au serveur Nginx depuis l'extérieur du conteneur.
|
||||
EXPOSE 80
|
||||
Reference in New Issue
Block a user