- Débutant
- Construire des images
Comment ça marche
FROM choisit la base, WORKDIR fixe le dossier, COPY apporte des fichiers depuis le contexte de build, RUN exécute une commande pendant le build, ENV et EXPOSE décrivent la configuration, USER fixe qui exécute le programme, et CMD ou ENTRYPOINT fixent ce qui s'exécute. Les instructions s'appliquent dans l'ordre, de haut en bas.
Ce qui casse
RUN s'exécute au build, CMD au démarrage du conteneur : RUN node server.js bloque le build, puisque le serveur ne se termine jamais. Chaque RUN démarre aussi un nouveau shell, donc RUN cd /app n'a aucun effet sur la ligne suivante ; utilise WORKDIR.
Dans un Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
EXPOSE 3000
CMD ["node", "src/server.js"]
Regarde-le casser, puis répare-le
Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.