Docker: Volumes
Comment assurer la persistance des données de vos conteneurs avec les volumes Docker
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Docker cloud CaaS (Containers as a Service) prête à l'emploi qui offre de nombreux avantages, notamment :
- Déployez facilement vos conteneurs en production avec un simple
docker-compose up.- Nom de domaine personnalisable sécurisé en HTTPS (par exemple, https://api.votre-entreprise.com, https://www.votre-entreprise.com, https://backoffice.votre-entreprise.com).
- Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
- Mises à jour simplifiées en un clic.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Docker CaaS cloud hosting de Stackhero et déployer vos conteneurs en production !
Par conception, les conteneurs Docker sont éphémères. Cela signifie que toute donnée stockée directement à l'intérieur sera perdue lorsque le conteneur sera supprimé ou remplacé par une autre instance. Pour garantir la persistance des données, il est recommandé d'utiliser les volumes Docker.
N'utilisez pas les bind mounts Docker
N'utilisez jamais les bind mounts sur Stackhero. Privilégiez toujours les volumes Docker pour éviter toute perte de données.
Les bind mounts consistent à lier un répertoire de la VM hôte Stackhero à un conteneur. Cependant, si vous utilisez des bind mounts, la mise à jour de votre instance Stackhero for Docker entraînera la perte de toutes les données stockées de cette manière.
Les bind mounts sont généralement spécifiés dans la commande docker run avec une syntaxe du type -v /myDirectory:/mnt (notez le / initial). Dans les fichiers Docker Compose, ils apparaissent sous la forme volumes: /myDirectory:/mnt. Évitez absolument ces configurations, sinon vous perdrez vos données.
Préférez l'utilisation des volumes Docker, qui sont gérés par Docker et ne font pas référence à des chemins absolus.
Pour résumer :
Mauvaise pratique :
docker run -it -v /myDirectory:/mnt alpine
Bonne pratique :
docker volume create myVolume
docker run -it -v myVolume:/mnt alpine
Lorsque vous travaillez avec des fichiers Docker Compose :
Mauvaise configuration :
services:
myService:
image: alpine
volumes:
- /myDirectory:/mnt
Bonne configuration :
services:
myService:
image: alpine
volumes:
- myVolume:/mnt
volumes:
myVolume:
name: myVolume
Commandes pratiques pour les volumes Docker
Voici un rappel rapide pour gérer les volumes Docker :
-
Pour créer un nouveau volume nommé
myVolume, exécutez :docker volume create myVolume -
Pour lister tous les volumes existants :
docker volume ls -
Pour supprimer un volume spécifique nommé
myVolume:docker volume rm myVolumeRemarque : La suppression d'un volume efface définitivement toutes les données qu'il contient. Il n'est pas possible de les récupérer par la suite.