From 5d2ea70dbe1e5c32ecd943300b10fd51cc696a8f Mon Sep 17 00:00:00 2001 From: pereiral Date: Tue, 26 Mar 2024 23:26:18 +0100 Subject: [PATCH] Actualiser explication_dockerfile.md --- explication_dockerfile.md | 41 ++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/explication_dockerfile.md b/explication_dockerfile.md index fbd55e4..077a668 100644 --- a/explication_dockerfile.md +++ b/explication_dockerfile.md @@ -27,7 +27,8 @@ HEALTHCHECK --interval=1m --timeout=1s \ **Définir l'image utilisée** ```dockerfile -FROM httpd:alpine3.17``` +FROM httpd:alpine3.17 +``` 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. @@ -35,44 +36,52 @@ Tout dockerfile doit commencer par une ligne `FROM`. Pour trouver l'image, on va **???** ```dockerfile -RUN sed -i 's/Work Day Scheduler/Tom Moguljak/g' /usr/local/apache2/htdocs/index.html``` +RUN sed -i 's/Work Day Scheduler/Tom Moguljak/g' /usr/local/apache2/htdocs/index.html +``` T **Ajouter une étiquette** ```dockerfile -LABEL maintainer="Tom Moguljak"``` +LABEL maintainer="Tom Moguljak" +``` Une ligne `LABEL` permet de créer une étiquette pour l'image. Ici le nom de l'étiquette est "maintainer" et elle contient la valeur "Tom Moguljak". Quand on a plusieurs étiquettes à définir, on peut le faire en plusieurs lignes : ```dockerfile LABEL maintainer="Tom Moguljak" LABEL version="1.8" -LABEL tp="3"``` +LABEL tp="3" +``` Ou en une seule, en séparant les définitions par un espace : ```dockerfile -LABEL maintainer="Tom Moguljak" version="1.8" tp="3"``` +LABEL maintainer="Tom Moguljak" version="1.8" tp="3" +``` **Ajouter une variable d'environnement** ```dockerfile -ENV school="IUT"``` +ENV school="IUT" +``` 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 : ```dockerfile ENV school="IUT" -ENV level="1.8"``` +ENV level="1.8" +``` Ou en une seule, en séparant les définitions par un espace : ```dockerfile -ENV school="IUT" level="1.8"``` +ENV school="IUT" level="1.8" +``` **Ajouter le contenu d'un dossier** ```dockerfile -COPY ./dayScheduler/ /usr/local/apache2/htdocs/``` +COPY ./dayScheduler/ /usr/local/apache2/htdocs/ +``` 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 @@ -80,22 +89,26 @@ Une ligne `COPY` permet d'ajouter le contenu d'un dossier présent sur la machin **Faire des tests de survie** ```dockerfile -HEALTHCHECK --interval=1m --timeout=1s CMD curl --fail http://localhost:80/ || exit 1``` -Une ligne `HEALTHCHECK`permetd de faire des tests de survie. Ici le test a un intervale de 1 seconde. +HEALTHCHECK --interval=1m --timeout=1s CMD curl --fail http://localhost:80/ || exit 1 +``` +Une ligne `HEALTHCHECK` permet de faire des tests de survie. Ici le test a un intervale de 1 seconde. ## Utilisation Pour créer l'image, on fait : ```shell -docker build -t mapremiereimage:1.0 .``` +docker build -t mapremiereimage:1.0 . +``` Pour lancer l'image, on fait : ```shell -docker run -d -p 8080:80 mapremiereimage:1.0 --name contimage``` +docker run -d -p 8080:80 mapremiereimage:1.0 --name contimage +``` Pour arrêter l'image, on fait : ```shell -docker stop contimage``` +docker stop contimage +``` Pour voir le résultat, on va sur la page `localhost:8080` dans un navigateur.