Ceci est un mémo personnel.
Comment utiliser le volume spécifié par docker ou docker-compose.
Il existe une différence entre (1) volumes externes et (2) volumes dans les services de docker-compose.yml.
docker-compose.exemple yml
version: "3.7"
volumes:
todo-mysql-data:
services:
mysql:
image: mysql:5.7
volumes:
- todo-mysql-data:/var/lib/mysql
Les volumes dans la même hiérarchie que la version prépare les volumes avec le nom spécifié.
C'est ce qu'on appelle un "volume nommé".
volumes:
todo-mysql-data:
Les volumes de chaque service sont appelés ** montage de liaison ** et se distinguent des volumes.
** Représente le processus de montage (partage) du répertoire à l'intérieur du conteneur et du répertoire côté hôte **.
services:
mysql:
image: mysql:5.7
volumes:
- todo-mysql-data:/var/lib/mysql
Dans l'exemple ci-dessus, le volume todo-mysql-data
est monté sur / var / lib / mysql
dans le conteneur.
Vous pouvez maintenant synchroniser les données dans / var / lib / mysql avec le volume.
article | Lier la monture | Contenu |
---|---|---|
Volume nommé | datavolume:/var/lib/mysql | Monter le volume spécifié sur le répertoire spécifié dans le conteneur |
Volume anonyme | /var/lib/data | Spécifiez uniquement le répertoire dans le conteneur. Un volume de valeurs de hachage est attribué. (Il disparaît lorsque le conteneur est supprimé) |
Partager le répertoire racine(Chemin relatif) | .:app | Montez le répertoire spécifié dans le conteneur sur le répertoire en cours d'exécution côté hôte. |
Spécifié par chemin absolu | /opt/data:/var/lib/mysql | Montez le répertoire spécifié dans le conteneur dans le répertoire spécifié du côté hôte. |
Je vois souvent des descriptions comme «.: App».
En faisant cela, les données dans le conteneur peuvent être reproduites du côté hôte. (Sans cela, les données ne peuvent pas être vues du côté hôte)
article | Volume nommé | Volume anonyme |
---|---|---|
Principales applications | ・(1)Partager un volume avec plusieurs conteneurs (exemple: db)(2)Exclure de la synchronisation vers le côté hôte(Exemple: nœud_module) | Données qui n'ont pas besoin d'être partagées avec d'autres conteneurs mais qui veulent être conservées (exemple: log) |
Supprimer le conteneur | Reste (indépendant du conteneur) | Disparaître |