diff --git a/content/06_docker_basics.md b/content/06_docker_basics.md
index 7539640caf1c2ba741e9d27e0d67feacabd5fc6e..0bb372f0ccd5cdbdf8173c709254bf2a24e48729 100644
--- a/content/06_docker_basics.md
+++ b/content/06_docker_basics.md
@@ -179,3 +179,120 @@ Démarrez le container `zorglub` avec la commande `start -ia` (_attach_ + _inter
 
 - Le fichier `/ex03/fantasio` existe-t-il toujours ?
     - Oui, le fichier existe toujours.
+
+## Exercice 3
+
+Exécutez un container basé sur l'image Alpine 3.17 en spécifiant de le détruire
+une fois terminé.
+
+```bash
+docker run -it --rm alpine:3.17
+```
+
+Vérifiez que vous utilisez la bonne distribution en inspectant le contenu du
+fichier `/etc/os-release`.
+
+```bash
+cat /etc/os-release
+```
+
+```bash
+NAME="Alpine Linux"
+ID=alpine
+VERSION_ID=3.17.7
+PRETTY_NAME="Alpine Linux v3.17"
+HOME_URL="https://alpinelinux.org/"
+BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
+```
+
+Dans ce container, exécutez la commande `top`. Inspéctez ensuite le processus
+`top` à l'intérieur du container et sur la machine hôte (via `ps aux`).
+
+- Selon votre observation, est-ce qu'un processus appartenant à `root` dans le
+container appartient également à root en dehors du container ?
+    - Cela dépend si le daemon `dockerd` s'exécute en tant que `root` ou non.
+    S'il l'est, alors le processus `root` dans le container le sera aussi en
+    dehors. (_weird ngl, gotta verify that_).
+    - Non, ce processus n'appartient pas à `root` en dehors du container.
+
+Pour rappel, `root` possède le **UID** 0.
+
+- Pourquoi est-il dangereux qu'un processus UID 0 dans le container soit également
+UID 0 sur la machine hôte ?
+    - Cela impliquerait que ce processus aurait tous les droits sur la machine hôte.
+
+- Quelle différence remarquez-vous lorsque vous exécutez la commande `ps aux`
+dans le container et sur la machine hôte ?
+    - En ce qui concerne le container, on ne voit que les processus `/bin/sh`
+    et `ps aux` s'exécuter à l'inverse de la machine hôte où un nombre bien plus
+    conséquent de processus s'exécutent.
+
+- À votre avis, quelle est la raison de cette différence ?
+    - J'imagine que le processus du container est complètement isolé de son
+    environnement "parent" pour des mesures de sécurité d'où le fait qu'on n'ait
+    pas accès aux processus s'exécutant sur la machine hôte.
+
+À l'intérieur du container, terminez `top`, puis installez et exécutez le programme
+`asciiquarium`. Pour info, Alpine utilise le _package manager_ `apk`. Les
+équivalents Alpine de `apt-get update` et `apt-get install` sont `apk update`
+et `apk add`. Vous pouvez lister tous les paquets disponibles avec `apk list`.
+
+- Quel est le PID de ce processus dans le container ? Quel est le PID de ce même
+processus sur la machine hôte et pourquoi est-il différent à votre avis ?
+    - Dans le container, le PID du processus est 22. Du côté de la mâchine hôte,
+    le PID est 16125. Je suppose que la raison pour laquelle ces deux valeurs
+    sont différentes est que le container exécute un OS à part entière d'où le
+    fait que de son point de vue, il est le seul _responsable_ de ce processus.
+    (_prolly bs_).
+
+Vous allez maintenant investiguer empiriquement le comportement des containers.
+
+- Quel est le processus portant le PID 1 dans le container ? Quel est le processus
+portant le même numéro de PID sur la machine hôte ?
+    - Dans le container, c'est le processus `/bin/sh` qui porte le PID 1 (cela
+    est facilement visualisable grâce à `top`). Dans le cas de la machine hôte,
+    en exécutant la commande `pstree -p | head`, on s'aperçoit que le PID 1
+    correspond au processus `systemd`.
+
+- Pour généraliser, quel est le processus portant le PID 1 dans le container
+(c-à-d, quel que soit le container exécuté) ? Vous pouvez déduire empiriquement
+en exécutant d'autres containers avec des programmes différents.
+    - En ayant essayé avec l'image `isrkhn/pandoc`, je m'aperçois que le processus
+    portant le PID 1 dans le container est `/bin/sh` (ou le shell de base).
+
+Comparé le résultat de la commande `uname -rv` dans le container et sur la
+machine hôte.
+
+- Que remarquez-vous et que pouvez-vous en conclure ?
+    - Dans le cas deux cas, le résultat de cette commande est `5.15.0-105-generic #115-Ubuntu SMP Mon Apr 15 09:52:04 UTC 2024`.
+    On peut en conclure que le container est "conscient" de l'OS parent et que
+    celui-ci sera le même pour lui (_maybe ?_).
+
+Similairement à ci-dessus, comparez le contenu du répertoire `/dev/`.
+
+- Que remarquez-vous ? À votre avis, quelle est la raison de cette différence ?
+    - Dans le cas du container la liste est très petite comparé à la machine hôte.
+    Une des choses manquantes en particulier sont les partitions de disque (p.ex.:
+    `/dev/sda`, `/dev/sdb`). La raison de cette différence est que le container
+    n'est "qu'un processus" par rapport à l'OS complète s'exécutant sur la
+    machine hôte.
+
+- Est-il possible de donner à un container accès à un ou plusieurs périphériques
+de la machine hôte ? Comment ? Trouvez un moyen permettant de vérifier votre méthode.
+    - Oui, il est possible de donner accès au container à un périphérique de
+    la machine hôte à l'aide du paramètre `device`. Ci-dessous vous pouvez voir
+    un exemple où on met à disposition du container, le device `/dev/sda` de
+    la machine hôte. On retrouve par la suite ce device, lorsqu'on inspecte
+    le retour de `ls -ltr /dev` dans le container.
+    ```bash
+    docker run --device=/dev/sda:/dev/host-sda -it --rm alpine:3.17
+    ```
+
+    ```bash
+    brw-rw----    1 root     disk        8,   0 Apr 20 16:10 host-sda
+    ```
+
+Exécutez la commande `mount` sur la machine hôte et dans le container.
+
+- Quelles différences remarquez-vous, notamment en ce qui concerne le système
+de fichiers racine (`rootfs`) ?