Tout dockerfile doit commencer par une ligne `FROM`. Pour trouver l'image, on va sur DockerHub et on cherche le nom de l'image qu'on veut (ici c'est httpd). On va préférer les images officielles, marquées par un badge vert avec une étoile. On clique sur le lien, on va dans l'onglet `Tags` et on trouve la version la plus récente,ou la version demandée dans l'énoncé (on peut utiliser le filtre). Il suffit ensuite de copier le code donné sur le site, ici c'est `docker pull httpd:alpine3.19`, mais on enlève le "docker pull".
>Il faut à tout prix éviter la version "latest" ou de prendre la version en haut de page, sans rien après le nom de l'image (ex: httpd) et qui correspond à la version latest.
Une ligne `RUN` permet d'exécuter une commande shell/bash au moment du `build`. Ici on a utilisé la commande `sed` : on cherche l'expression `Work Day Scheduler` et on remplace par `Tom Moguljak` dans le fichier `/usr/local/apache2/` de l'image.
Une ligne `ENV` permet de créer une variable d'environnement dans l'image. Ici le nom de la variable d'environnement est "school" et elle contient la valeur "IUT".
Comme pour les étiquettes, quand on a plusieurs variables d'environnement à définir, on peut le faire en plusieurs lignes :
Une ligne `COPY` permet d'ajouter le contenu d'un dossier présent sur la machine (ici le dossier "dayScheduler") à l'image (ici le chemin dans l'image est /usr/local/apache2/htdocs/).
> Si il est demandé d'ajouter le contenu d'un git, il faut faire git clone d'abord