Les Volumes

Section INF (All)

Les volumes

Expliquer la différence entre named volume et bind mount

Créer des volumes

Qu’est-ce qu’un volume en français ?

  • Un objet défini par trois dimensions.
  • On peut donc y stocker quelque chose

Principes

Un conteneur est par nature non persistant

Un volume est un objet capable de contenir des données

Permet de stocker ce qui est écrit pendant l’exécution du conteneur.

On parle de volumes nommés ou named volumes.

La commande et ses attributs

docker volume create [OPTIONS] [VOLUME_NAME]

Les options sont :

  • –driver : définit si on écrit en local, sur un serveur, dans le cloud…
  • –label : ajoute une ou plusieurs méta-données (clé-valeur)
  • –name : donne un nom au volume

VOLUME_NAME

  • définit le nom du volume

⚠️ Conflit si –name est déjà défini

Monter un volume

Rendre accessible un volume par un conteneur

Indique quel répertoire du conteneur sera stocké dans le volume.

Persister les données, Partager les données, faciliter le développement.

Quand peut-on monter un volume ?

Uniquement au démarrage du conteneur.

Monter un volume en CLI

docker run [...] -v nom_du_volume:repertoire_docker[:ro] ...

Quelles sont les deux opérations sur les volumes ?

  • Création

  • Montage

Bind mount

Ne crée pas de volume…

Les données sont stockées dans le files system de l’hôte

docker run [...] - v chemin_hote:repertoire_du_conteneur[:ro] ...

Questions

Situation Recommandation
J’ai besoin de sauvegarder des données de mon conteneur
J’ai besoin de partager des données de entre mes conteneurs

Réponses

Situation Recommandation
J’ai besoin de sauvegarder des données de mon conteneur Named volumes
J’ai besoin de partager des données de entre mes conteneurs Named volumes

Questions

Situation Recommandation
Je suis dans un environnement de développement
J’ai une base de données à sauvegarder
Accès aux données dynamiques de mon hôte par mon conteneur

Réponses

Situation Recommandation
Je suis dans un environnement de développement Bind mount
J’ai une base de données à sauvegarder Named volume
Accès aux données dynamiques de mon hôte par mon conteneur Bind mount