diff --git a/content/07_docker_storage.md b/content/07_docker_storage.md index 592ff4f0bd4fdbeaca413c53619bc1d2fe73de15..7878d73a44771615a8d43f4fca8028ab50d0cf0b 100644 --- a/content/07_docker_storage.md +++ b/content/07_docker_storage.md @@ -263,3 +263,55 @@ d2a2c1ada45a 2 weeks ago /bin/sh -c #(nop) CMD ["bash"] 0B ``` Il semblerait donc que la taille de cette nouvelle couche est de 8.8kB + +## Exercice 4 + +On désire enfin se familiariser avec l'utilisation de _volumes_ et _bind mounts_. + +Sur votre machine client, créez le volume `pics`, puis montez le dans le repertoire +`/vol/pics` d'un container `ubuntu:22.04` créé pour l'occasion. + +### Créez du volume `/pics` sur le client + +```bash +docker volume create pics +``` + +### Montez le volume dans le répertoire dans `/vol/pics` + +```bash +docker run --mount type=volume,src=pics,dst=/vol/pics -it ubuntu:22.04 /bin/bash +``` + +- Dans le container, quel est le contenu du volume `/pics` ? + +Le contenu du volume `/pics` dans le container est vide. + +### Copie de données vers le container (volume) + +Depuis la machine cliente, copiez un répertoire contenant une série d'images dans +le volume `/pics` et vérifiez que vous pouvez accéder à ces images dans votre +container. + +```bash +docker cp . <nom_container>:/vol/pics +``` + +### Copie des données depuis le container vers la machine locale (volume) + +```bash +docker cp <nom_container>:/vol/pics . +``` + +- Est-ce que les opérations ci-dessus sur le volume `/pics` fonctionnent correctement +si le _daemon_ `dockerd` s'exécute sur une machine différente du client `docker` ? +Justifiez. + - Les opérations ci-dessus s'exécutent parfaitement suite au fait que les + volumes `docker` ne nécessitent justement pas d'être stocké sur la même et + unique machine. Ceci représente un de leur grand avantages par rapport + aux _bind mounts_. + +- Même question mais pour les _bind mounts_. + - Non, ces opérations ne fonctionneront pas suite au fait que les _bind mounts_ + nécessitent de se "situer" physiquement sur la même machine, ce qui n'est pas + le cas des _volume mounts_.