Maison >Opération et maintenance >Docker >Que signifie le volume dans Docker ?

Que signifie le volume dans Docker ?

WBOY
WBOYoriginal
2021-12-30 10:51:076615parcourir

Dans Docker, volume signifie « volume de données », qui peut contourner le système de fichiers commun par défaut et exister sur l'hôte sous la forme d'un fichier ou d'un répertoire normal, enregistrant ainsi les données persistantes et partageant les données entre les conteneurs.

Que signifie le volume dans Docker ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.

Que signifie le volume dans Docker ?

Docker Volume, généralement traduit par volume de données, est utilisé pour enregistrer des données persistantes. Lorsque nous exécutons une base de données telle que MySQL dans un conteneur Docker, nous sauvegardons généralement les données sur l'hôte via Docker Volume. De cette manière, même si le conteneur MySQL est supprimé, les données sont toujours enregistrées sur l'hôte, garantissant ainsi la sécurité des données. .

1. Spécifiez le volume Docker

Utilisez la commande docker run pour exécuter un conteneur Docker

docker run -itd --volume /tmp/data1:/tmp/data2 --name test ubuntu bash
  • Création d'un conteneur Docker basé sur l'image Ubuntu.

  • Le nom du conteneur est test, spécifié par l'option –name.

  • Docker Volume est spécifié par l'option –volume Le répertoire /tmp/data1 de l'hôte correspond au répertoire /tmp/data2 dans le conteneur un à un.

2. Afficher le volume Docker

Utilisez la commande docker inspect pour afficher les informations détaillées du conteneur Docker :

docker inspect --format= '{{json .Mounts}}' test | python -m json.tool
[
{
"Destination": "/tmp/data2",
"Mode": "",
"Propagation": "",
"RW": true,
"Source": "/tmp/data1",
"Type": "bind"
}
]
  • Utilisez l'option –format pour afficher de manière sélective les informations requises sur le conteneur. .Mount correspond aux informations Docker Volume du conteneur.

  • python -m json.tool peut formater et afficher la chaîne json de sortie.

  • Source représente le répertoire sur l'hôte, qui est /tmp/data1.

  • Destination est le répertoire du conteneur, qui est /tmp/data2.

3. Les fichiers locaux peuvent être synchronisés avec le conteneur

Créez un nouveau fichier hello.txt dans le répertoire local/tmp/data1

touch /tmp/data1/hello.txt
ls /tmp/data1/
hello.txt

Le fichier hello.txt est visible dans le conteneur/tmp/data2/. directory

À l'aide de la commande docker exec, vous pouvez exécuter des commandes dans le conteneur.

docker exec test ls /tmp/data2/
hello.txt

On peut voir que les modifications dans le répertoire local /tmp/data1/ peuvent être synchronisées avec le répertoire du conteneur /tmp/data2/.

4. Les fichiers du conteneur peuvent être synchronisés avec l'hôte

Créez un nouveau fichier world.txt dans le répertoire containers/tmp/data2

docker exec test touch /tmp/data2/world.txt
docker exec test ls /tmp/data2/
hello.txt
world.txt

Le fichier world.txt est visible dans le répertoire host/tmp/data1/

ls /tmp/data1/
hello.txt world.txt

On peut voir que dans Les modifications apportées au répertoire du conteneur /tmp/data2/ peuvent être synchronisées avec le répertoire hôte /tmp/data1/.

5. Conclusion

Docker Volume est essentiellement un répertoire ou un fichier partagé entre le conteneur et l'hôte, afin que les données du Docker Volume puissent être synchronisées en temps réel entre l'hôte et le conteneur. Lorsque vous utilisez Virtualbox pour créer une machine virtuelle, vous pouvez également configurer un répertoire partagé, très similaire à Docker Volume.

Apprentissage recommandé : "Tutoriel vidéo Docker"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn