Docker: N'utilisez pas les bind mounts Docker
Cette documentation fait partie du guide Volumes. Consultez le guide complet ici : Comment persister les 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 offrant de nombreux avantages, notamment :
- Déployez facilement vos containers en production avec un simple
docker-compose up.- Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://api.votre-entreprise.com, https://www.votre-entreprise.com, https://backoffice.votre-entreprise.com).
- Performance optimale et sécurité robuste 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 d'hébergement cloud Docker CaaS de Stackhero et déployer vos containers en production !
N'utilisez pas les bind mounts sur Stackhero. Optez toujours pour les volumes Docker pour éviter toute perte de données.
Les bind mounts impliquent de lier un répertoire de la VM hôte Stackhero à un conteneur. Cependant, si vous vous appuyez sur les 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 comme -v /monRepertoire:/mnt (notez le / initial). Dans les fichiers Docker Compose, ils apparaissent comme volumes: /monRepertoire:/mnt. Bannissez ces configurations ou vous perdrez vos données.
À la place, utilisez les volumes Docker, qui sont gérés par Docker et ne font pas référence à des chemins absolus.
Pour résumer :
Approche incorrecte :
docker run -it -v /monRepertoire:/mnt alpine
Approche correcte :
docker volume create monVolume
docker run -it -v monVolume:/mnt alpine
Lors de l'utilisation de fichiers Docker Compose :
Configuration incorrecte :
services:
monService:
image: alpine
volumes:
- /monRepertoire:/mnt
Configuration correcte :
services:
monService:
image: alpine
volumes:
- monVolume:/mnt
volumes:
monVolume:
name: monVolume