diff --git a/content/06_docker_basics.md b/content/06_docker_basics.md
index b3d5af3c539c43bc0538cd0760dd7a1e14eeda23..7539640caf1c2ba741e9d27e0d67feacabd5fc6e 100644
--- a/content/06_docker_basics.md
+++ b/content/06_docker_basics.md
@@ -75,3 +75,107 @@ quels sont leurs noms et IDs ?
 - Sur quelle machine se trouvent les images `docker` ?
     - Les images se trouvent sur le serveur exécutant le daemon `docker`, en
     l'occurrence c'est la VM de l'école.
+
+## Exercice 2
+
+Exécutez le container `hepia/docker_ex03` avec un shell (`sh`) intéractif et
+créez ensuite le fichier `fantasio` dans le répertoire `/ex03/` avec la commande
+`touch`.
+
+```bash
+docker run -it --rm hepia/docker_ex03 /bin/sh
+```
+
+```bash
+cd ex03
+```
+
+```bash
+touch fantasio
+```
+
+- Que se passe-t-il quand vous quittez le shell avec `Ctrl-d` ?
+    - Le container est arrêté mais n'est pas supprimé (en l'occurrence il le
+    sera je l'exécute avec l'option `--rm`).
+
+Exécutez un nouveau container basé sur la même image que précédemment et nommez-la
+`zorglub`.
+
+```bash
+docker run -it --name zorglub hepia/docker_ex03 /bin/sh
+```
+
+- Est-ce que le fichier `/ex03/fantasio` existe ou pas ? Pourquoi ?
+    - Non, le fichier en question n'existera pas dans ce nouveau container
+    car le container `zorglub` n'est qu'une instance de l'image `hepia/docker_ex03`.
+    Ce container n'a rien en commun avec le container précédent à part l'image
+    **_parent_** qu'ils ont en commun.
+
+Dans le container `zorglub`, créez le fichier `/ex03/fantasio`, puis pressez la
+combinaison de touches `Ctrl-p` `Ctrl-q`.
+
+- Quel est l'état (stoppé, en exécution, etc...) du container `zorglub` ?
+    - À l'aide de cette combinaison de touches, nous avons simplement détaché
+    le terminal intéractif du container. Par conséquent, le container est toujours
+    en cours d'exécution.
+
+    - Le rôle de cette combinaison est de se détacher du shell intéractif du
+    container sans pour autant terminé son exécution.
+
+Attachez-vous (`docker attach`) alors au container `zorglub` ?
+
+```bash
+docker attach zorglub
+```
+
+- Est-ce que le fichier `/ex03/fantasio` existe encore ?
+    - Oui, le fichier est présent.
+
+Dans un nouveau terminal, attachez-vous à nouveau au container `zorglub`. Placez
+à côte à côte les deux terminaux dans lesquels vous êtes attaché au container
+`zorglub` et tapez des caractères au clavier.
+
+- Qu'observez-vous et que pouvez-vous donc en déduire ?
+    - Nous pouvons donc en déduire que nous pouvons attacher un nombre arbitraire
+    de terminaux à un container cependant celui-ci ne sera dupliqué donc cela
+    revient à avoir une multitude de vues d'un seul _processus_.
+
+![2 terminals, 1 container (iykyk)](../figs/docker_two_terminals.png){width=60%}
+
+Exécutez la commande `docker exec -it zorglub sh`
+
+- Est-ce que le fichier `/ex03/fantasio` existe toujours ? Combien de shells
+sont en cours d'exécution (aide : `ps`) ?
+    - Oui, le fichier existe toujours. En exécutant la commande `ps -ef`, on
+    s'aperçoit que deux shells sont en cours d'exécution (`/bin/sh` et `sh`).
+
+- Quelle est la différence entre les commandes `attach` et `exec` ?
+    - La différence entre ces deux commandes sont les suivantes :
+        - `attach` permet de se "réattacher" au processus qui a été lancé
+        au démarrage du container
+        - `exec` permet de lancer un nouveau processus dans un container démarré
+        (ex.: lancer un nouveau shell afin d'inspécter son système de fichiers).
+
+Terminez le shell (p.ex. avec `Ctrl-d`) dans lequel vous aviez exécuté `docker exec ...`
+auparavant.
+
+- Est-ce que le container `zorglub` est toujours en cours d'exécution ?
+    - Oui, il l'est toujours.
+
+Exécutez un nouveau shell avec la commande `docker exec -it zorglub sh`,
+puis allez dans le terminal où vous aviez réalisé le `docker attach` plus haut.
+Terminez alors ce shell avec `Ctrl-d`.
+
+- Est-ce que le container `zorglub` est toujours en cours d'exécution ? Que
+pouvez-vous en conclure ?
+    - En ayant fait cette manipulation, on s'aperçoit que nous avons non seulement
+    arrêté le processus lancé par `docker exec ...`, nous avons aussi complètement
+    arrêté le container ainsi que tous les vues que nous possédions vers celui-ci.
+    La conclusion est (comme je l'ai mentionné précédemment) que la commande
+    `docker attach` permet de nous "attacher" au processus original du container
+    et par conséquent, si on le quitte, cela va arrêter le container.
+
+Démarrez le container `zorglub` avec la commande `start -ia` (_attach_ + _interactive_).
+
+- Le fichier `/ex03/fantasio` existe-t-il toujours ?
+    - Oui, le fichier existe toujours.
diff --git a/figs/docker_two_terminals.png b/figs/docker_two_terminals.png
new file mode 100644
index 0000000000000000000000000000000000000000..b52ed453f44d3fa813d17f9b7f35ffbb21da99b4
Binary files /dev/null and b/figs/docker_two_terminals.png differ