# Exercice — Les volumes Docker ## 1. Création d’un volume « mon_premier_volume » À l’aide de `docker volume create` et de ses options, créez un volume ayant les caractéristiques suivantes: ![image](images/exo-volume-section-1.png) ```{answer} ``` --- ## 2. Création d’un volume « volume_production » À l’aide de `docker volume create` et de ses options, créez un volume ayant les caractéristiques suivantes: ![image](images/exo-volume-section-2.png) ```{answer} ``` --- ## 3. Création d’un volume « volume_dev » À l’aide de `docker volume create` et de ses options, créez un volume ayant les caractéristiques suivantes: ![image](images/exo-volume-section-3.png) ```{answer} ``` --- ## 4. Monter le volume dev sur le conteneur `ubuntu_dev` Objectif: démarrer un conteneur `ubuntu_dev` basé sur `ubuntu:latest` dont le dossier `/test_dev` est sauvegardé dans le **volume `volume_dev`**. ```{answer} ``` --- ## 5. Monter le volume production sur le conteneur `ubuntu_prod` Objectif: démarrer un conteneur `ubuntu_prod` basé sur `ubuntu:latest` dont le dossier `/test_prod` est sauvegardé dans le **volume `volume_production`**. ```{answer} ``` --- ## 6. Monter les volumes production et dev sur le conteneur `ubuntu_devops` Objectif: démarrer un conteneur `ubuntu_devops` basé sur `ubuntu:latest` avec: - `volume_production` monté en **lecture seule** sur `/test_prod` - `volume_dev` monté en **lecture-écriture** sur `/test_dev` ```{answer} ``` --- ## 7. Docker Compose: `ubuntu_devops2` avec deux volumes Proposer un `docker-compose.yml` qui: 1) crée deux volumes (`prod2` et `dev2`). Les **labels** doivent être identiques à ceux des volumes `Docker compose` et `volume_dev`. 2) crée un service `ubuntu_devops2` basé sur `ubuntu:latest`. 3) monte `prod2` sur `/test_prod` en **lecture seule**. 4) monte `dev2` sur `/test_dev` en **lecture-écriture**. ### 7. Réponse ```{answer} ``` --- ## 8. Quels sont les principaux avantages des volumes Docker ? ```{answer} ``` ## 9. Comment les volumes Docker permettent-ils la persistance des données entre redémarrages ou suppressions de conteneurs ? ```{answer} ``` ## 10. Comment partager des fichiers entre plusieurs conteneurs avec des volumes ? Donnez un exemple. ```{answer} ``` ## 11. Différences clés entre volumes nommés et bind mounts. Scénarios d’usage préférés (c#). ```{answer} :lang: csharp ``` ## 12. Avec Docker Compose, comment partager des volumes entre services ? Quelles considérations (mysql)? ```{answer} :lang: mysql ``` ## 13. Diagnostiquer des problèmes liés aux volumes. Outils et méthodes. (js) ```{answer} :lang: javascript ``` ## 14. Comment pouvez-vous reconnaître un named volume d'un bind mount (js)? ```{answer} :lang: javascript ``` ## 15. Une question sur les volumes (ps)? ```{answer} :lang: powershell ``` ```{export-answers} ``` ---