Maison > Opération et maintenance > Docker > le corps du texte

Les données seront-elles perdues si vous arrêtez le conteneur Docker ?

青灯夜游
Libérer: 2022-02-23 16:38:15
original
12603 Les gens l'ont consulté

Arrêtez le conteneur Docker et les données ne seront pas perdues. Lorsque le conteneur Docker s'arrête et quitte, il sera dans l'état quitté. Les données qu'il contient ne seront pas perdues et pourront être visualisées via « docker ps -a » uniquement lorsque le conteneur sera supprimé, les données seront effacées avec ; la suppression du conteneur.

Les données seront-elles perdues si vous arrêtez le conteneur Docker ?

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

Arrêtez le conteneur Docker et les données ne seront pas perdues.

Lorsque le conteneur Docker s'arrête et quitte, il sera dans l'état quitté, ce qui équivaut à arrêter la machine virtuelle, il n'y aura donc aucune perte de données.

À ce stade, vous pouvez le visualiser via docker ps -a, et vous pouvez également le démarrer via docker start Seule la suppression du conteneur effacera les données.

Seulement après docker rm, la suppression du conteneur effacera les données.

Créez un conteneur puis supprimez le conteneur. Les données seront également supprimées lorsque le conteneur est supprimé

Comment supprimer le conteneur sans supprimer les donnéesdockerrun-vhost_dir:containere_dirCela peut résoudre votre problème !

Connaissances étendues : Lorsque le conteneur est redémarré, les données du journal ou de la base de données générées lors de l'exécution du conteneur seront effacées.

Solution :

Docker peut stocker des données de manière permanente en montant le répertoire du disque hôte.

1. Exécutez Docker Volume lors de la création d'un conteneur

Utilisez la commande docker run pour exécuter un conteneur Docker, utilisez l'image ubuntu/nginx, montez le répertoire local /tmp/source dans le répertoire du conteneur /tmp/destination

docker run -itd --volume /tmp/source:/tmp/destination --name test ubuntu/nginx bash
Copier après la connexion

Basé sur Ubuntu/ L'image nginx crée un conteneur Docker.

Spécifiez le nom du conteneur comme test, spécifié par l'option ––name.

Docker Volume est spécifié par l'option ––volume (peut être abrégé en -v) Le répertoire /tmp/source de l'hôte correspond au répertoire /tmp/destination dans le conteneur.

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/destination”,“Mode”: “”,“Propagation”: “”,“RW”: true,“Source”: “/tmp/source”,“Type”: “bind”}]
Copier après la connexion

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/source .

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

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

Créez un nouveau fichier hello.txt dans le répertoire native/tmp/source

touch /tmp/source/hello.txtls /tmp/source/hello.txt
Copier après la connexion

Le fichier hello.txt est visible dans le répertoire conteneur/tmp/destination/

Utilisation la commande docker exec, vous pouvez exécuter des commandes dans le conteneur.

docker exectest ls /tmp/destination/hello.txt
Copier après la connexion

Ainsi, les modifications apportées au répertoire /tmp/source/ sur l'hôte peuvent être synchronisées avec le répertoire du conteneur /tmp/destination/.

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

Créez un nouveau fichier world.txt dans le répertoire conteneur/tmp/destination

docker exec test touch /tmp/destination/world.txtdocker exec test ls /tmp/destination/hello.txtworld.txt
Copier après la connexion

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

ls /tmp/source/hello.txt world.txt
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!