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