Écrire un Dockerfile
Les instructions FROM, WORKDIR, COPY, ADD, RUN, ENV, ARG, EXPOSE, USER, CMD et ENTRYPOINT ; le contexte de construction et .dockerignore ; une couche par instruction, le cache de construction et docker build -t.
- 30 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les étapes
- Mises en situation
- Comprendre
Quelques cartes du deck
Dockerfile : de quoi s'agit-il ?
Voir la réponse
Fichier texte qui décrit, instruction par instruction, comment construire une image à partir d'une image de base.
Il rend la construction reproductible et versionnable : quiconque lance
docker buildobtient la même image, au lieu de dépendre des gestes de la personne qui l'a faite.Quelle différence entre COPY et ADD ?
- ADD sait aussi décompresser une archive locale et télécharger une URL
- COPY ne copie que des fichiers isolés, alors qu'ADD copie aussi les dossiers
- COPY s'exécute au démarrage du conteneur, ADD à la construction de l'image
- ADD ajoute un fichier à l'image en laissant l'original dans le contexte, COPY le déplace
Voir la réponse
ADD sait aussi décompresser une archive locale et télécharger une URL
Les deux copient depuis le contexte vers l'image, dossiers compris. ADD a deux comportements en plus, parfois surprenants ; on préfère COPY quand on ne veut que copier.
L'instruction … s'exécute à la construction de l'image, alors que … définit la commande lancée au démarrage du conteneur.
Voir la réponse
L'instruction RUN s'exécute à la construction de l'image, alors que CMD définit la commande lancée au démarrage du conteneur.
RUN npm ciinstalle les dépendances une fois pour toutes dans une couche ;CMD ["node", "server.js"]ne s'exécute qu'audocker run.Couche d'image : de quoi s'agit-il ?
Voir la réponse
Ensemble de modifications du système de fichiers produit par une instruction de construction, empilé sur les précédentes.
Les instructions RUN, COPY et ADD créent chacune une couche. Les couches sont en lecture seule et partagées entre images, ce qui économise le téléchargement et le disque.
Un Dockerfile Node qui profite du cache : quelle étape vient après « FROM node:24-alpine » ?
- WORKDIR /app
- COPY package*.json ./
- RUN npm ci
- COPY . .
Voir la réponse
WORKDIR /app
L'image de base d'abord, puis le dossier de travail, puis ce qui change rarement (dépendances), puis ce qui change souvent (le code), et la commande de démarrage en dernier.