From 5c52a9c6af62c17fe1467503db3c21ae22b53b00 Mon Sep 17 00:00:00 2001 From: "iliya.saroukha" <iliya.saroukhanian@etu.hesge.ch> Date: Sat, 1 Jun 2024 00:21:15 +0200 Subject: [PATCH] feat: started working on ex1 --- Makefile | 3 -- content/08_dockerfiles.md | 63 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 content/08_dockerfiles.md diff --git a/Makefile b/Makefile index d0de7e0..01035ee 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,3 @@ -OPTIONS = --filter=pandoc-numbering -OPTIONS += --filter=pandoc-crossref - PDFOPTIONS = --highlight-style kate PDFOPTIONS += --pdf-engine xelatex PDFOPTIONS += --number-sections diff --git a/content/08_dockerfiles.md b/content/08_dockerfiles.md new file mode 100644 index 0000000..8a4b406 --- /dev/null +++ b/content/08_dockerfiles.md @@ -0,0 +1,63 @@ +\newpage + +# Dockerfiles + +## Préréquis + +**Vérifier que le paquet `docker-buildx` soit installé la machine exécutant +le daemon `dockerd` sinon c'est la hess...** + +### Pour les rookies + +```bash +sudo apt install docker-buildx +``` + +### Pour les gens normaux + +```bash +sudo pacman -S docker-buildx +``` + +## Exercice 1 + +### Création d'une image à partir du Dockerfile + +```bash +docker buildx build . -t dockerfiles_ex01:1.0 +``` + +### Contenu du Dockerfile + +```bash +FROM alpine:latest +LABEL maintainer="Yoda" +ADD files.tar.gz /dir_tar +RUN mkdir /dir_add +COPY file0* /dir_add/ +CMD ["ls", "-al", "/dir_tar", "/dir_add"] +``` + +#### Explication du Dockerfile + +- `FROM` : spécifie l'image parent de notre nouvelle image, en l'occurrence +le parent sera `alpine:latest`. + +- `LABEL` : cette commande ajoute des métadonnées concernant l'image. Dans notre +cas, on lui spécifie la paire `<clé><valeur>` $\rightarrow$ `maintainer:"Yoda"`. + +- `ADD` : on spécifie qu'on souhaite non seulement de copier (la commande +`COPY` suffirait) la _tarball_ `files.tar.gz` mais aussi de l'extraire suite +au fait que `ADD` est supérieur à `COPY`. Cette _tarball_ sera extraite dans le +répertoire `/dir_tar` du container. + +- `RUN` : indique que l'on souhaite exécuter un commande, donc le répertoire +`/dir_add` se créé. + +- `COPY` : va simplement copier les fichiers locaux commençant par `files0` dans +le répertoire `/dir_add` du container. + +- `CMD` : spécifie la commande (avec ses arguments) qui sera lancée au moment +de l'instantiation du container. Dans notre cas, au lancement du container +le contenu des répertoire `/dir_tar` et `/dir_add` seront affichés sous forme +de liste (`-l`). Les fichier cachés seront aussi affichés grâce au flag (`-a`). -- GitLab