0Pricing
Docker & DevOps Fundamentals · Leçon

Comprendre les Dockerfiles

Apprenez la syntaxe et les instructions courantes des Dockerfiles pour définir la construction d’une image.

Comprendre les Dockerfiles est une leçon Docker & DevOps Fundamentals gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Docker & DevOps Fundamentals, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.

Qu'est-ce qu'un Dockerfile ?

Imaginez que vous avez une recette pour faire un gâteau. Un Dockerfile est très similaire ! Il s'agit d'un fichier texte simple qui contient toutes les instructions dont Docker a besoin pour construire automatiquement une image Docker.

Au lieu de mélanger des ingrédients, vous indiquez à Docker quel système d'exploitation de base utiliser, quels logiciels installer et comment configurer votre application à l'intérieur de l'image.

Comprendre les Dockerfiles — illustration 1

Avantages : automatisation de la construction

Les Dockerfiles offrent de nombreux avantages dans votre flux de développement :

  • Automatisation : fini les étapes manuelles ! Docker construit les images de manière cohérente à chaque fois.
  • Contrôle de version : les Dockerfiles sont du code, vous pouvez donc suivre les modifications avec Git.
  • Reproductibilité : toute personne possédant le Dockerfile peut construire exactement la même image.
  • Transparence : vous pouvez voir précisément ce que contient une image.

Structure de base d'un Dockerfile

Un Dockerfile est une liste d'instructions exécutées dans l'ordre, de haut en bas. Chaque instruction crée une nouvelle couche dans l'image.

La syntaxe de base est simple :

INSTRUCTION arguments

Les commentaires commencent par #, comme dans de nombreux langages de programmation. Les instructions Docker ne tiennent pas compte de la casse, mais la convention veut qu'elles soient écrites en majuscules.

Choisir une image de base avec FROM

Chaque Dockerfile doit commencer par l'instruction FROM. Elle indique l'image de base sur laquelle votre nouvelle image sera construite. Cette image de base contient généralement un système d'exploitation (comme Alpine Linux) et parfois des logiciels préinstallés.

Voyez cela comme le choix de votre point de départ : une toile vierge ou une toile avec quelques couleurs de base déjà présentes.

FROM alpine:latest

Exécuter des commandes avec RUN

L'instruction RUN sert à exécuter des commandes pendant la construction de l'image. C'est à ce moment que vous installez des paquets, créez des répertoires ou compilez du code.

Chaque commande RUN crée une nouvelle couche ; combiner les commandes avec && peut donc contribuer à réduire la taille de l'image.

RUN apk update && apk add git

Commande par défaut avec CMD

L'instruction CMD fournit les commandes ou arguments par défaut d'un conteneur en cours d'exécution. Contrairement à RUN, les commandes CMD sont exécutées lorsqu'un conteneur démarre, et non pendant la construction.

Si vous indiquez une commande lors de l'exécution d'un conteneur (par exemple docker run my-image ls), cette commande remplace l'instruction CMD.

CMD ["echo", "Hello from container!"]

Ajouter des fichiers avec COPY

L'instruction COPY copie de nouveaux fichiers ou répertoires depuis votre machine hôte (celle sur laquelle vous construisez l'image) vers le système de fichiers de l'image Docker, à un chemin donné.

Elle est généralement préférée à ADD, car elle est plus transparente et ne copie que des fichiers locaux.

COPY ./app /usr/src/app

Répertoire de travail et variables d'environnement

WORKDIR définit le répertoire de travail pour toutes les instructions RUN, CMD, ENTRYPOINT, COPY et ADD qui le suivent. Cela rend votre Dockerfile plus clair.

ENV définit des variables d'environnement. Ces variables sont disponibles pour les instructions suivantes du Dockerfile ainsi que pour le conteneur en cours d'exécution.

WORKDIR /app
ENV PORT=8080

Documenter les ports avec EXPOSE

L'instruction EXPOSE informe Docker que le conteneur écoute sur les ports réseau indiqués lors de son exécution. Elle ne publie pas réellement le port.

Considérez-la comme de la documentation. Pour rendre effectivement le port accessible depuis l'extérieur du conteneur, vous devez utiliser l'option -p avec docker run.

EXPOSE 80
EXPOSE 443

Votre premier Dockerfile simple

Mettons tout cela en pratique ! Voici un Dockerfile de base qui configure une image Alpine Linux, installe un paquet et définit une commande par défaut.

Pour le construire, enregistrez-le sous le nom Dockerfile dans un répertoire vide, puis exécutez docker build -t my-simple-app . dans votre terminal.

FROM alpine:latest

LABEL maintainer="CoddyKit"

RUN apk update && apk add --no-cache bash

WORKDIR /app

CMD ["bash", "-c", "echo 'Hello from my custom Alpine image!' && sleep 3600"]

Quiz sur les instructions d'un Dockerfile

Testez vos connaissances ! Lesquelles de ces instructions sont exécutées pendant le processus de construction de l'image et modifient directement son contenu ou sa structure ?

Récapitulatif : les bases essentielles des Dockerfiles

Vous avez fait un grand pas dans la compréhension des images Docker ! Nous avons appris que les Dockerfiles sont des fichiers texte contenant des instructions pour construire des images, avec de grands avantages comme l'automatisation et la reproductibilité.

Principales instructions étudiées :

  • FROM : définit l'image de base.
  • RUN : exécute des commandes pendant la construction.
  • CMD : définit la commande par défaut d'un conteneur en cours d'exécution.
  • COPY : ajoute des fichiers de l'hôte à l'image.
  • WORKDIR, ENV, EXPOSE : configurent l'image et l'environnement du conteneur.

Questions Fréquemment Posées

La leçon « Comprendre les Dockerfiles » est-elle gratuite ?

Oui — le texte complet de « Comprendre les Dockerfiles » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Docker & DevOps Fundamentals, passe à CoddyKit PRO. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Comprendre les Dockerfiles » ?

Apprenez la syntaxe et les instructions courantes des Dockerfiles pour définir la construction d’une image. Tu pratiques Docker & DevOps Fundamentals avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Docker & DevOps Fundamentals ?

Aucune expérience préalable n'est requise. Docker & DevOps Fundamentals sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Comprendre les Dockerfiles » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Docker & DevOps Fundamentals ?

Oui. Chaque leçon Docker & DevOps Fundamentals inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Comprendre les Dockerfiles
  2. Créer des images Docker personnalisées
  3. Couches d’images et optimisation
  4. Constructions en plusieurs étapes et images plus légères
← Retour à Docker & DevOps Fundamentals