Docker
Créer un service avec persistance
Recherche…
Syntaxe
- docker volume create --name <nom_volume> # Crée un volume appelé <nom_volume>
- docker run -v <nom_volume>: <point_montage> -d crramirez / limesurvey: latest # Montez le volume <nom_volume> dans le répertoire <point_montage> du conteneur
Paramètres
Paramètre | Détails |
---|---|
--name <nom_volume> | Indiquez le nom du volume à créer |
-v <nom_volume>: <point_montage> | Indiquez où le volume nommé sera monté dans le conteneur |
Remarques
La persistance est créée dans des conteneurs de docker à l'aide de volumes. Docker a plusieurs façons de gérer les volumes. Les volumes nommés sont très pratiques par:
- Ils persistent même lorsque le conteneur est supprimé à l'aide de l'option -v.
- La seule façon de supprimer un volume nommé consiste à effectuer un appel explicite à docker volume rm
- Les volumes nommés peuvent être partagés entre des conteneurs sans liaison ou option --volumes-from.
- Ils n'ont pas de problèmes de permission que les volumes montés par l'hôte ont.
- Ils peuvent être manipulés à l'aide de la commande docker volume.
Persistance avec des volumes nommés
La persistance est créée dans des conteneurs de docker à l'aide de volumes. Créons un conteneur Limesurvey et conservons la base de données, le contenu téléchargé et la configuration dans un volume nommé:
docker volume create --name mysql
docker volume create --name upload
docker run -d --name limesurvey -v mysql:/var/lib/mysql -v upload:/app/upload -p 80:80 crramirez/limesurvey:latest
Sauvegarder un contenu de volume nommé
Nous devons créer un conteneur pour monter le volume. Ensuite, archivez-le et téléchargez l'archive sur notre hôte.
Créons d'abord un volume de données avec quelques données:
docker volume create --name=data
echo "Hello World" | docker run -i --rm=true -v data:/data ubuntu:trusty tee /data/hello.txt
Sauvegardons les données:
docker run -d --name backup -v data:/data ubuntu:trusty tar -czvf /tmp/data.tgz /data
docker cp backup:/tmp/data.tgz data.tgz
docker rm -fv backup
Testons:
tar -xzvf data.tgz
cat data/hello.txt
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow