Aller au contenu
Conteneurs & Orchestration medium

Volumes Docker : Persistance et Partage des Données

29 min de lecture

logo docker

Les conteneurs sont éphémères par nature : quand un conteneur est supprimé, ses données disparaissent avec lui. Les volumes Docker résolvent ce problème en offrant un mécanisme de persistance des données indépendant du cycle de vie des conteneurs. Trois options s’offrent à vous : volumes standards (gérés par Docker), bind mounts (accès direct au système de fichiers hôte) et tmpfs (stockage en RAM).

  • Volumes standards : création, utilisation et bonnes pratiques de nommage
  • Bind mounts : accès direct aux fichiers de l’hôte pour le développement
  • tmpfs : stockage en mémoire pour données temporaires ou sensibles
  • Volumes NFS : partage de données entre plusieurs hôtes Docker
  • Plugins de volumes : extension avec SSHFS et autres solutions
  • Sauvegarde et restauration : stratégies et outils (Restic, Rclone, Offen)

Prérequis : Avoir lu le guide Docker : Guide Complet pour comprendre les bases des conteneurs et des commandes Docker.

Avant de détailler les différents types de volumes, comprenons où Docker peut stocker vos données. Cette compréhension est essentielle pour choisir le bon type de volume selon votre architecture.

La distinction fondamentale à comprendre :

Stockage local (sur la machine hôte) :

  • Volumes standards : Docker crée un espace dédié sur le disque de l’hôte (/var/lib/docker/volumes/)
  • Bind mounts : vous choisissez un dossier existant sur l’hôte (ex: /home/user/projet)
  • tmpfs : utilise la RAM de l’hôte (pas de persistance)

Stockage distant (sur le réseau) :

  • NFS : partage de fichiers entre serveurs Linux
  • CIFS/SMB : partage Windows/Samba
  • Plugins : SSHFS, cloud (AWS EBS, Azure Disk, etc.)

Pourquoi c’est important ? En environnement mono-serveur, le stockage local suffit. Mais dès que vous avez plusieurs serveurs Docker (cluster Swarm, Kubernetes), les conteneurs peuvent migrer d’un hôte à l’autre. Sans stockage distant, les données restent sur l’ancien serveur et le conteneur redémarre à vide sur le nouveau.

Analogie : Le stockage local, c’est comme avoir vos fichiers sur le disque dur de votre PC. Le stockage distant, c’est comme avoir vos fichiers sur Google Drive : accessibles depuis n’importe quel appareil.

Architecture de stockage Docker : emplacements des volumes, bind mounts, tmpfs et stockage réseau

Type de montageEmplacement physiqueGéré par
Volumes standards/var/lib/docker/volumes/<nom>/_dataDocker daemon
Bind mountsN’importe où sur l’hôte (ex: /home/user/projet)Vous
tmpfsRAM du systèmeSystème d’exploitation
Volumes réseauServeur distant (NFS, CIFS, cloud)Driver local ou plugin

Astuce : Pour trouver l’emplacement exact d’un volume, utilisez docker volume inspect mon_volume. Le champ Mountpoint indique le chemin sur le disque.

Fenêtre de terminal
# Exemple de sortie
docker volume inspect mon_volume
[
{
"Name": "mon_volume",
"Mountpoint": "/var/lib/docker/volumes/mon_volume/_data",
...
}
]

Maintenant que vous comprenez où les données sont stockées, voyons les trois mécanismes de persistance locaux proposés par Docker :

Comparaison des 3 types de montage Docker : volumes standards, bind mounts et tmpfs

CritèreVolume StandardBind Mounttmpfs
Stockage/var/lib/docker/volumes/Chemin hôte quelconqueRAM uniquement
Persistance✅ Oui✅ Oui❌ Non (perdu à l’arrêt)
Géré par Docker✅ Oui❌ Non❌ Non
PerformanceBonneExcellente (accès direct)Ultra-rapide
Sécurité✅ Isolé⚠️ Expose l’hôte✅ Jamais sur disque
Portabilité✅ Facile à migrer❌ Dépend de l’hôteN/A
Cas d’usageProduction, BDDDéveloppement, hot-reloadSecrets, cache, sessions

Les volumes Docker standards représentent la méthode recommandée par Docker pour la persistance des données. Pensez-y comme à un coffre-fort numérique : Docker gère l’emplacement, la sécurité et le cycle de vie de vos données, vous n’avez qu’à les utiliser.

Un volume standard est un espace de stockage dédié, créé et géré par Docker dans un répertoire spécial (/var/lib/docker/volumes/). Contrairement aux fichiers du conteneur, le volume survit à la suppression du conteneur.

Analogie : Imaginez un conteneur comme un bureau temporaire dans un espace de coworking. Quand vous quittez le bureau, il est nettoyé. Mais si vous avez un casier personnel (le volume), vos affaires restent en sécurité même après votre départ.

Pour créer un volume standard, utilisez la commande docker volume create. Par exemple :

Fenêtre de terminal
docker volume create mon_volume

Pour l’utiliser dans un conteneur, spécifiez-le lors de la création du conteneur :

Fenêtre de terminal
docker run -v mon_volume:/path/in/container ...

Ici, mon_volume est monté à l’emplacement /path/in/container dans le conteneur.

Docker propose deux syntaxes pour monter des volumes. La syntaxe --mount est plus explicite et recommandée pour les nouveaux utilisateurs.

Syntaxe -v (courte) :

Fenêtre de terminal
# Volume nommé
docker run -v mon_volume:/app/data nginx
# Bind mount
docker run -v /chemin/hote:/app/data nginx
# Mode lecture seule
docker run -v mon_volume:/app/data:ro nginx

Syntaxe --mount (explicite, recommandée) :

Fenêtre de terminal
# Volume nommé
docker run --mount type=volume,source=mon_volume,target=/app/data nginx
# Bind mount
docker run --mount type=bind,source=/chemin/hote,target=/app/data nginx
# Volume en lecture seule
docker run --mount type=volume,source=mon_volume,target=/app/data,readonly nginx
# Empêcher la copie initiale des données du conteneur
docker run --mount type=volume,source=mon_volume,target=/app/data,volume-nocopy nginx

Docker distingue deux types de volumes gérés :

TypeCréationSuppressionExemple
Volume nommédocker volume create mon_vol ou -v mon_vol:/dataManuelle avec docker volume rmPersistant, facile à identifier
Volume anonyme-v /data (sans nom)Avec docker rm -v ou docker volume pruneHash aléatoire, difficile à gérer
Fenêtre de terminal
# Volume anonyme (déconseillé sauf cas temporaires)
docker run -v /app/cache nginx
# Volume nommé (recommandé)
docker run -v cache_nginx:/app/cache nginx
  • Portabilité des Données : Les volumes peuvent être facilement déplacés ou partagés entre différents conteneurs, facilitant la portabilité des applications.
  • Indépendance et Sécurité : Comme ils sont gérés par Docker et isolés du système de fichiers de l’hôte, les volumes standards offrent une meilleure sécurité et réduisent les risques de conflits de fichiers.
  • Facilité de Sauvegarde et de Récupération : Les données dans les volumes standards peuvent être sauvegardées et récupérées indépendamment des conteneurs, ce qui simplifie les opérations de maintenance.
  • Gestion Centralisée : Docker fournit des commandes pour gérer les volumes, y compris la création, la suppression, la liste et l’inspection, centralisant ainsi la gestion des données.

Le Bind Mount : Accès Direct au Système de Fichiers

Section intitulée « Le Bind Mount : Accès Direct au Système de Fichiers »

Le bind mount crée un lien direct entre un dossier de votre machine et un dossier dans le conteneur. C’est l’outil préféré des développeurs pour le hot-reload : modifiez votre code, le conteneur voit immédiatement les changements.

Analogie : Un bind mount, c’est comme partager un dossier Google Drive entre deux ordinateurs. Les fichiers sont les mêmes, accessibles des deux côtés en temps réel.

Contrairement aux volumes standards (gérés par Docker), le bind mount pointe vers n’importe quel chemin de votre système de fichiers. Le conteneur voit et modifie directement vos fichiers.

┌─────────────────┐ bind mount ┌─────────────────┐
│ Hôte │◄────────────────►│ Conteneur │
│ /home/user/app │ même fichier │ /app │
└─────────────────┘ └─────────────────┘

Pour monter le dossier /home/user/projet de l’hôte vers /app dans le conteneur :

Fenêtre de terminal
# Syntaxe -v (chemin absolu obligatoire !)
docker run -v /home/user/projet:/app nginx
# Syntaxe --mount (plus explicite)
docker run --mount type=bind,source=/home/user/projet,target=/app nginx
# Astuce : utiliser $(pwd) pour le répertoire courant
docker run -v $(pwd):/app nginx

Cas d’usage typique : développement avec hot-reload

Section intitulée « Cas d’usage typique : développement avec hot-reload »

Un exemple concret avec un projet Node.js :

Fenêtre de terminal
# Votre code local est directement accessible dans le conteneur
docker run -v $(pwd)/src:/app/src -v $(pwd)/package.json:/app/package.json node:20 npm run dev

Chaque modification de fichier dans src/ déclenche automatiquement le rechargement de l’application.

  • Hot-reload : modifications visibles instantanément, idéal pour le développement
  • Performances : accès direct au disque, pas de couche d’abstraction Docker
  • Débogage : inspectez les fichiers générés par le conteneur depuis l’hôte
  • Sécurité et Isolation: Les bind mounts peuvent présenter des risques de sécurité, car ils permettent un accès direct aux fichiers de l’hôte. Il est important de les utiliser avec précaution, en s’assurant que seuls les fichiers et répertoires nécessaires sont accessibles au conteneur.
  • Gestion du Cycle de Vie: Contrairement aux volumes Docker, la gestion du cycle de vie des fichiers dans un bind mount dépend entièrement de l’administration de l’hôte.

Le montage tmpfs stocke les données directement en RAM (mémoire vive). Résultat : des performances fulgurantes, mais les données disparaissent à l’arrêt du conteneur. C’est parfait pour les secrets, le cache, ou les fichiers temporaires.

Analogie : Un tmpfs, c’est comme un tableau blanc effaçable. Très pratique pour noter des informations temporaires, mais tout s’efface quand vous quittez la salle.

Contrairement aux volumes et bind mounts qui écrivent sur le disque, tmpfs utilise uniquement la RAM. Cela apporte deux avantages majeurs :

  1. Sécurité : les données sensibles (tokens, mots de passe temporaires) ne sont jamais écrites sur disque
  2. Performance : la RAM est 10 à 100 fois plus rapide qu’un SSD

Syntaxe simple avec --tmpfs :

Fenêtre de terminal
docker run --tmpfs /app/tmp nginx

Syntaxe --mount avec options avancées :

Fenêtre de terminal
# tmpfs avec limite de taille (100 Mo max)
docker run --mount type=tmpfs,destination=/app/tmp,tmpfs-size=100m nginx
# tmpfs avec permissions spécifiques (mode 1777 = sticky bit + rwx pour tous)
docker run --mount type=tmpfs,destination=/tmp,tmpfs-mode=1777 nginx
# Combinaison taille + mode
docker run --mount type=tmpfs,destination=/app/cache,tmpfs-size=200m,tmpfs-mode=1755 nginx

Pour renforcer la sécurité des montages tmpfs, Docker supporte les options de montage Linux :

Fenêtre de terminal
# tmpfs sécurisé : interdit l'exécution de binaires et les élévations de privilèges
docker run --tmpfs /tmp:noexec,nosuid,nodev,size=100m nginx
OptionDescriptionCas d’usage
noexecInterdit l’exécution de binairesSécurité (empêche d’exécuter du code malveillant)
nosuidIgnore les bits setuid/setgidSécurité (empêche l’élévation de privilèges)
nodevInterdit les fichiers de périphériquesSécurité (empêche l’accès aux devices)
size=100mLimite la taille en mémoirePerformance (évite de saturer la RAM)
mode=1777Permissions (sticky bit)/tmp partagé entre utilisateurs

En Docker Compose :

services:
app:
image: nginx:alpine
tmpfs:
- /tmp:size=100M,mode=1777
- /var/cache:size=200M,noexec,nosuid
  • Performance: Les accès en lecture et écriture sur un tmpfs sont extrêmement rapides, car ils sont effectués directement en mémoire vive.
  • Sécurité des Données: Idéal pour les données sensibles ou temporaires, car elles ne sont pas persistantes et sont effacées lorsque le conteneur est arrêté, réduisant ainsi le risque de fuite de données.
  • Réduction de l’Usure des Disques: Utiliser tmpfs pour des données fréquemment modifiées peut réduire l’usure des disques SSD ou HDD, car les écritures sont faites en mémoire et non sur le disque.
  • Gestion de la Mémoire: Il est important de gérer soigneusement l’utilisation de la mémoire, surtout dans des environnements avec des ressources limitées. Un usage excessif de tmpfs peut entraîner une saturation de la mémoire vive.
  • Non-Persistance: Les données dans tmpfs sont éphémères; elles doivent donc être utilisées uniquement pour des informations temporaires ou non critiques.

Dans un environnement de production avec plusieurs serveurs Docker, vous aurez souvent besoin de partager des données entre hôtes. Le driver local de Docker supporte nativement les protocoles NFS (Linux) et CIFS/SMB (Windows/Samba) sans plugin tiers.

Quand utiliser les volumes réseau ?

  • Clusters Docker avec plusieurs nœuds (Swarm, standalone)
  • Données partagées entre applications sur différents serveurs
  • Stockage centralisé sur NAS (Synology, QNAP, TrueNAS)
  • Migration de conteneurs entre hôtes sans perte de données

NFS est le protocole standard pour le partage de fichiers entre systèmes Linux. Il offre d’excellentes performances et une configuration relativement simple.

  • Un serveur NFS correctement configuré et accessible depuis l’hôte Docker
  • Le client NFS installé sur l’hôte Docker :
Fenêtre de terminal
# Debian/Ubuntu
sudo apt install nfs-common
# RHEL/Rocky/AlmaLinux
sudo dnf install nfs-utils
Fenêtre de terminal
docker volume create --driver local \
--opt type=nfs \
--opt o=addr=192.168.1.50,nolock,soft,rw \
--opt device=:/exports/data \
mon_volume_nfs
OptionDescription
addrAdresse IP ou hostname du serveur NFS
nolockDésactive le verrouillage (utile pour NFS v3)
softRetourne une erreur si le serveur ne répond pas (vs hard qui attend indéfiniment)
rwMontage en lecture-écriture
nfsvers=4Force une version spécifique de NFS
Fenêtre de terminal
# Vérifier que le volume existe
docker volume ls
# Utiliser dans un conteneur
docker run -v mon_volume_nfs:/data nginx

CIFS (Common Internet File System), aussi appelé SMB (Server Message Block), est le protocole de partage de fichiers de Windows. Il est idéal pour intégrer Docker avec des serveurs Windows ou des NAS compatibles Samba.

Le package cifs-utils doit être installé sur l’hôte Docker :

Fenêtre de terminal
# Debian/Ubuntu
sudo apt install cifs-utils
# RHEL/Rocky/AlmaLinux
sudo dnf install cifs-utils
Fenêtre de terminal
docker volume create --driver local \
--opt type=cifs \
--opt o=addr=192.168.1.100,username=utilisateur,password=motdepasse,vers=3.0 \
--opt device=//192.168.1.100/partage \
mon_volume_cifs
OptionDescription
addrAdresse IP ou nom d’hôte du serveur CIFS
usernameNom d’utilisateur pour l’authentification
passwordMot de passe (⚠️ visible dans docker volume inspect)
vers=3.0Version du protocole SMB (2.0, 2.1, 3.0)
domainDomaine Active Directory (optionnel)

Pour éviter d’exposer le mot de passe en clair, utilisez un fichier d’identifiants :

Fenêtre de terminal
# Créer un fichier sécurisé
echo "username=utilisateur" > /etc/docker-cifs-credentials
echo "password=motdepasse" >> /etc/docker-cifs-credentials
chmod 600 /etc/docker-cifs-credentials
# Créer le volume avec le fichier d'identifiants
docker volume create --driver local \
--opt type=cifs \
--opt o=credentials=/etc/docker-cifs-credentials,vers=3.0 \
--opt device=//serveur/partage \
mon_volume_cifs_secure
  • Sécurité réseau : limitez l’accès aux partages par IP ou VLAN dédié
  • Performances : testez la latence réseau avant de mettre en production
  • Haute disponibilité : utilisez l’option soft pour NFS afin d’éviter les blocages en cas de panne du serveur
  • Monitoring : surveillez les I/O réseau pour détecter les goulots d’étranglement

L’exploitation des plugins de volumes dans Docker permet d’étendre les capacités de stockage et d’accès aux données dans un environnement de conteneurs. Ces plugins offrent une flexibilité remarquable en permettant l’intégration de solutions de stockage externes qui ne sont pas directement supportées par Docker.

L’Utilisation de Plugins de Volume avec Exemple SSHFS

Section intitulée « L’Utilisation de Plugins de Volume avec Exemple SSHFS »

L’adoption de plugins de volume Docker tels que celui pour SSHFS (SSH Filesystem) permet d’étendre significativement les fonctionnalités de stockage de Docker. SSHFS est une solution pratique pour monter des systèmes de fichiers distants en utilisant SSH, une méthode sécurisée et largement utilisée.

Pour intégrer SSHFS avec Docker, le plugin vieux/sshfs est généralement utilisé. Voici comment l’installer :

  1. Installer le Plugin :

    Fenêtre de terminal
    docker plugin install vieux/sshfs
    Plugin "vieux/sshfs" is requesting the following privileges:
    - network: [host]
    - mount: [/var/lib/docker/plugins/]
    - mount: []
    - device: [/dev/fuse]
    - capabilities: [CAP_SYS_ADMIN]
    Do you grant the above permissions? [y/N] y
    latest: Pulling from vieux/sshfs
    Digest: sha256:1d3c3e42c12138da5ef7873b97f7f32cf99fb6edde75fa4f0bcf9ed277855811
    52d435ada6a4: Complete
    Installed plugin vieux/sshfs
  2. Vérifier l’Installation : Après l’installation, vérifiez si le plugin est correctement installé et activé :

    Fenêtre de terminal
    docker plugin ls
    ID NAME DESCRIPTION ENABLED
    3cbdf63cd7cb vieux/sshfs:latest sshFS plugin for Docker true

    Recherchez vieux/sshfs dans la liste affichée avec un statut enabled.

Une fois le plugin installé, vous pouvez l’utiliser pour monter un système de fichiers distant dans un conteneur Docker.

  1. Création d’un Volume avec SSHFS : Pour créer un volume, utilisez la commande suivante, en remplaçant user@remote-host par vos identifiants et adresse SSH et /path/on/remote par le chemin du répertoire distant que vous souhaitez monter :

    Fenêtre de terminal
    docker volume create --driver vieux/sshfs -o sshcmd=user@remote-host:/path/on/remote mon_volume_sshfs
  2. Montage du Volume dans un Conteneur : Pour monter ce volume SSHFS dans un conteneur, utilisez le volume créé comme suit :

    Fenêtre de terminal
    docker run -v mon_volume_sshfs:/data ...

    Ici, mon_volume_sshfs est monté à l’emplacement /data dans le conteneur.

  • Sécurité : SSHFS utilise SSH pour le transfert des données, offrant ainsi un niveau de sécurité élevé pour l’accès aux fichiers distants.
  • Flexibilité : Permet l’accès aux fichiers stockés sur n’importe quel serveur distant accessible via SSH, rendant cette solution très flexible pour les environnements distribués.
  • Facilité d’Utilisation : Intègre de manière transparente les fichiers distants dans l’environnement Docker, simplifiant la gestion des données.
  • Fiabilité de la Connexion : Assurez-vous que la connexion SSH est stable et sécurisée, surtout pour les applications critiques.
  • Performances : Soyez conscient des limitations de performance liées à l’utilisation du réseau pour l’accès aux fichiers.

Voici une liste des principaux plugins de volumes Docker, chacun offrant des fonctionnalités spécifiques pour répondre à différents besoins de stockage dans les environnements Docker.

Ces plugins varient en termes de fonctionnalités, de performances et de compatibilité avec divers environnements et cas d’utilisation. Il est recommandé de consulter la documentation spécifique de chaque plugin pour une compréhension détaillée de leurs capacités et de la manière de les intégrer dans votre environnement Docker.

La mise en place d’une stratégie efficace de sauvegarde et de restauration est fondamentale pour la gestion des volumes Docker. Cela garantit non seulement la sécurité des données en cas d’incident, mais offre également une tranquillité d’esprit en permettant une récupération rapide et fiable.

  1. Identifier le Volume à Sauvegarder : Trouvez le volume que vous souhaitez sauvegarder en utilisant :

    Fenêtre de terminal
    docker volume ls
  2. Création d’une Sauvegarde : Utilisez docker run avec une commande de sauvegarde appropriée. Par exemple, pour sauvegarder un volume nommé mon_volume dans un fichier tar :

    Fenêtre de terminal
    docker run --rm -v mon_volume:/volume -v $(pwd):/backup ubuntu tar cvf /backup/backup_mon_volume.tar /volume

    Cette commande crée une archive tar du contenu du volume mon_volume.

  3. Stockage de la Sauvegarde : Stockez le fichier de sauvegarde backup_mon_volume.tar dans un emplacement sûr, de préférence hors site ou dans un système de stockage cloud pour une meilleure sécurité.

  1. Création d’un Nouveau Volume pour la Restauration : Si nécessaire, créez un nouveau volume pour la restauration :

    Fenêtre de terminal
    docker volume create mon_volume_restauré
  2. Restauration du Volume : Restaurez les données à partir de la sauvegarde en utilisant :

    Fenêtre de terminal
    docker run --rm -v mon_volume_restauré:/volume -v $(pwd):/backup ubuntu tar xvf /backup/backup_mon_volume.tar -C /volume

    Cette commande extrait le contenu de l’archive tar dans le nouveau volume.

Il existe quelques outils permettant de réaliser cette tâche.

  1. Restic
    • Description : Restic est un outil de sauvegarde sécurisé, rapide et efficace.
    • Utilisation : Peut être utilisé pour sauvegarder des volumes Docker.
    • Lien : Restic sur GitHub
  2. Rclone
    • Description : Rclone est un outil de synchronisation de fichiers pour divers services de stockage cloud.
    • Utilisation : Convient pour copier des données depuis et vers des volumes Docker.
    • Lien : Rclone sur GitHub
  3. Offen
    • Description : Dédié à la sauvegarde de volumes Docker.
    • Utilisation : Simple à mettre en oeuvre.
    • Lien : Offen sur Github
  1. Portworx
    • Description : Solution de stockage persistant pour conteneurs offrant des capacités de sauvegarde et de restauration.
    • Utilisation : Permet des sauvegardes automatiques pour les environnements Docker et Kubernetes.
    • Lien : Portworx
  2. Veeam Backup & Replication
    • Description : Offre des solutions de sauvegarde, de restauration et de réplication pour divers environnements.
    • Utilisation : Adapté aux infrastructures basées sur des conteneurs Docker.
    • Lien : Veeam
  3. Storidge
    • Description : Système de stockage pour Docker automatisant la gestion des données.
    • Utilisation : Solution intégrée pour la sauvegarde et la restauration dans les environnements de conteneurs.
    • Lien : Storidge

Une gestion efficace des volumes Docker est essentielle pour assurer la performance, la sécurité et la fiabilité des applications conteneurisées. Voici quelques bonnes pratiques pour optimiser l’utilisation des volumes Docker dans votre infrastructure.

  • Contrôle d’Accès: Assurez-vous que les permissions sur les volumes sont correctement définies pour éviter tout accès non autorisé. Utilisez des utilisateurs et des groupes spécifiques dans vos conteneurs pour limiter les droits d’accès.
  • Chiffrement des Données: Pour les données sensibles, envisagez l’utilisation de volumes chiffrés ou de plugins qui offrent des fonctionnalités de chiffrement, afin de protéger les données.
  • Stratégies de Sauvegarde: Mettez en place des stratégies de sauvegarde régulières pour vos volumes Docker. Ceci est important pour la récupération en cas de perte de données.
  • Tests de Récupération: Testez régulièrement vos procédures de récupération pour vous assurer que les sauvegardes sont fiables et que les données peuvent être restaurées en cas de besoin.
  • Nettoyage Régulier: Docker ne supprime pas automatiquement les volumes non utilisés. Il est donc important de nettoyer régulièrement les volumes orphelins pour libérer de l’espace disque.
  • Surveillance de l’Utilisation: Utilisez des outils de surveillance pour garder un œil sur l’espace disque utilisé par les volumes, afin d’éviter toute saturation.
  • Choix du Type de Volume: Selon les besoins de l’application, choisissez le type de volume le plus adapté (bind mount, tmpfs, volume standard). Par exemple, privilégiez tmpfs pour des données temporaires nécessitant des accès rapides.
  • Répartition des Volumes: Répartissez les volumes sur différents disques ou SAN pour équilibrer la charge et optimiser les performances.
  • Documentez votre Configuration: Tenez à jour une documentation détaillée de votre configuration de volumes, y compris les chemins, les permissions et les stratégies de sauvegarde.
  • Standardisez les Pratiques: Établissez des normes pour la création et la gestion des volumes au sein de votre organisation pour assurer la cohérence et la facilité de gestion.

Théorie, c’est bien. Pratique, c’est mieux. Pour vraiment maîtriser Docker et les conteneurs, je mets à ta disposition une série de TP concrets prêts à l’emploi sur mon dépôt GitHub.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

7 questions
5 min.
80% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.