Retour au cours

Leçon 13 : Bind Mounts vs. Volumes (Développement vs. Production)

Docker, de zéro à héros : Le cours complet sur la conteneurisation pour débutants

Leçon 13 : Bind Mounts vs. Volumes (Développement vs. Production)

Alors que les volumes sont idéaux pour les données persistantes (comme les bases de données), les Bind Mounts (montages de liaison) offrent plus de contrôle et sont généralement préférés pour les environnements de développement et de test.

Explication des Bind Mounts

Un bind mount monte un chemin de fichier ou de répertoire hôte spécifique directement dans le conteneur. Le chemin hôte doit exister.

Utilisation : Synchronisation de code en temps réel (Hot Reloading).

Exemple : Hot Reloading en Développement

Supposons que le code de votre application Node.js se trouve dans /home/user/my-node-app sur votre hôte.

bash docker run -d \n --name node_dev \n -p 3000:3000 \n -v /home/user/my-node-app:/app \n node:20-alpine npm run dev

Explication de -v pour les Bind Mounts :

  • -v /home/user/my-node-app : Le chemin absolu sur l'hôte.
  • : : Séparateur.
  • /app : Le chemin à l'intérieur du conteneur (où le WORKDIR est habituellement défini).

Maintenant, si vous modifiez un fichier sur votre machine hôte (par exemple, server.js), le changement est instantanément répercuté à l'intérieur du conteneur, accélérant le développement.

Tableau Comparatif

CaractéristiqueVolumes DockerBind Mounts
Utilisation PrincipaleDonnées de Base de Données Persistantes, stockage partagéDéveloppement (Synchronisation de Code), configuration
Gestion HôteGéré par Docker (L'emplacement est difficile à trouver)Géré par l'utilisateur (Doit spécifier un chemin absolu)
CréationCréé par Docker ou la CLICréé automatiquement si le chemin existe
SécuritéPlus sûr, évite les modifications accidentelles des fichiers hôtesPeut écraser ou modifier des fichiers hôtes
PortabilitéTrès PortableMoins portable (nécessite un chemin hôte spécifique)

Règle Générale :

  • Production : Utilisez des Volumes.
  • Développement/Débogage : Utilisez des Bind Mounts.