Étape 05 / 09 · Windows

Conserver les données avec un volume Docker.

Créez et contrôlez un volume depuis Docker Desktop, sans ligne de commande. Le terminal reste uniquement une solution de secours facultative.

30 minutesDébutantWindows 11Docker Desktop
1. CréerVolume owlnet-data
2. AssocierVolume relié au conteneur
3. RetrouverDonnée persistante

Le problème résolu

Un conteneur est remplaçable, vos données ne le sont pas

Les fichiers écrits uniquement dans la couche interne d’un conteneur disparaissent avec lui. Un volume nommé est stocké et géré séparément par Docker : un autre conteneur peut ensuite retrouver les mêmes données.

ConteneurApplication temporaire que l’on peut recréer.
VolumeEspace persistant conservé indépendamment du conteneur.
Exemples concrets : données d’une base, configuration d’une application, bibliothèque d’un service ou fichiers générés que vous souhaitez conserver.

Avant de manipuler

Choisir entre volume et bind mount

SolutionEmplacementUsage conseillé
Volume nomméGéré par DockerDonnées persistantes d’une application ou d’une base.
Bind mountDossier Windows que vous choisissezDéveloppement et fichiers que vous éditez directement.
Dans ce module : nous utilisons uniquement un volume nommé afin d’apprendre la persistance sans toucher à vos dossiers personnels.

Interface graphique · Étape 1

Créer le volume owlnet-data

01

Ouvrir Volumes

Dans le menu gauche de Docker Desktop, cliquez sur Volumes.

02

Créer un volume

Cliquez sur Create ou Create a volume, puis saisissez exactement owlnet-data.

03

Contrôler le résultat

Le volume doit apparaître dans la liste. Il est vide et n’est encore utilisé par aucun conteneur.

Aucune commande à saisir : toute cette étape se déroule dans l’interface Docker Desktop.

Interface graphique · Étape 2

Associer le volume à votre image de démonstration

Nous réutilisons l’image owlnet-demo:1.0 créée à l’étape précédente. Son petit site web fournit une donnée visible que le volume pourra conserver.

01

Ouvrir Images

Dans Docker Desktop, cliquez sur Images, puis placez la souris sur owlnet-demo:1.0 et cliquez sur Run.

02

Afficher Optional settings

Nommez le conteneur owlnet-volume-1, puis indiquez le port hôte 8081 et le port du conteneur 80.

03

Ajouter le volume

Dans Volumes, choisissez le volume nommé owlnet-data comme source et /usr/share/nginx/html comme chemin dans le conteneur, puis cliquez sur Run.

04

Ouvrir le site

Dans Containers, ouvrez le lien du port 8081. La page « Docker fonctionne ! » doit apparaître.

Pourquoi ce chemin ? /usr/share/nginx/html est le dossier où Nginx lit le site construit au module précédent. Docker copie son contenu initial dans le volume vide lors du premier montage.
Mon écran Volumes ne propose pas « volume nommé »

Les libellés changent légèrement selon la version de Docker Desktop. N’utilisez pas un dossier personnel au hasard. Revenez dans Volumes, ouvrez owlnet-data et cherchez l’action permettant de l’utiliser avec un conteneur. Si votre version ne propose réellement que Host path, conservez le volume créé et reportez l’exercice : aucune commande n’est obligatoire pour valider les notions de ce module.

Preuve graphique · Étape 3

Retrouver les données avec un second conteneur

01

Supprimer le premier conteneur

Dans Containers, arrêtez puis supprimez uniquement owlnet-volume-1. Ne supprimez pas le volume.

02

Lancer un second conteneur

Depuis Images, relancez owlnet-demo:1.0. Nommez-le owlnet-volume-2, utilisez le port hôte 8082 et associez le même volume owlnet-data au même chemin.

03

Vérifier la page

Ouvrez le port 8082. Si le site apparaît encore, le nouveau conteneur a bien retrouvé les données conservées dans le volume.

Résultat attendu : la page « Docker fonctionne ! » est toujours disponible.
Ce que vous venez de prouver : le premier conteneur a disparu, mais le volume et ses données ont survécu.

Contrôle · Étape 4

Voir les informations sans ouvrir les fichiers système

Dans Docker Desktop, sélectionnez owlnet-data dans Volumes. L’onglet Container in-use indique quel conteneur l’utilise et son chemin cible. L’onglet Stored data affiche les fichiers, les dossiers et leur taille.

Container in-useVérifiez owlnet-volume-2 et le chemin Nginx.
Stored dataParcourez les fichiers sans ouvrir les dossiers internes de Docker.
Ne modifiez pas manuellement le dossier interne de Docker : utilisez Docker Desktop ou un conteneur monté. Docker reste responsable de cet espace.

Fin du test · Étape 5

Supprimer uniquement le volume de démonstration

Arrêtez et supprimez d’abord owlnet-volume-2. Dans Volumes, choisissez ensuite owlnet-data, cliquez sur l’icône de suppression puis confirmez avec Delete forever.

!

Suppression définitive

Cette action efface le fichier de démonstration. Vérifiez toujours le nom du volume et sauvegardez toute donnée importante avant une suppression.

Si une étape échoue

Corriger les erreurs courantes

Message ou symptômeCause probableCorrection
Volume introuvableLe nom diffère ou le volume n’a pas été créé.Ouvrez Volumes et vérifiez le nom exact owlnet-data.
La page n’apparaît pasLe mauvais port, volume ou chemin cible a été indiqué.Vérifiez les ports 8081/8082 → 80 et le chemin /usr/share/nginx/html.
Volume utiliséUn conteneur encore présent le référence.Ouvrez Containers, identifiez le conteneur de test et retirez-le avant le volume.
Docker Desktop ne répond pasLe moteur est arrêté.Attendez l’état Engine running, puis réessayez.
Tout se contrôle visuellement : les vues Containers, Images et Volumes suffisent pour ce module.

Validation

Avez-vous compris la persistance ?

1. Où placer une donnée qui doit survivre au conteneur ?

2. Supprimer un conteneur supprime-t-il automatiquement son volume nommé ?

3. Quelle vue Docker Desktop permet de retrouver owlnet-data ?

4. Que faut-il retirer avant de pouvoir supprimer un volume utilisé ?

Revoir le module
Résumé étape par étape

Le parcours complet en 6 actions

Environ 5 minutes
  1. 1
    CréerDocker Desktop → Volumes → owlnet-data.
  2. 2
    AssocierRelier le volume à l’image depuis Optional settings.
  3. 3
    OuvrirVérifier le site du premier conteneur sur le port 8081.
  4. 4
    RecréerSupprimer le premier conteneur puis en lancer un second avec le même volume.
  5. 5
    VérifierRetrouver la même page sur le port 8082.
  6. 6
    NettoyerSupprimer uniquement owlnet-data après le test.
Compétence acquise : vous savez conserver une donnée indépendamment du cycle de vie d’un conteneur.

Fin de l’étape

Vous savez maintenant faire persister les données.

L’étape 6 expliquera comment relier des conteneurs sur un réseau Docker sans exposer inutilement leurs services.