[Docker-compose] Comment utiliser des volumes de volumes non nommés et nommés. Lier la monture

Ceci est un mémo personnel.

Comment utiliser le volume spécifié par docker ou docker-compose.

Différence entre deux volumes dans docker-compose.yml

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

① Volumes extérieurs

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:

Fonctionnalités de volume nommé (mérites)


## ② volumes de services

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.


## Comment écrire un montage de liaison Il existe plusieurs façons d'écrire un montage de liaison.
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.

・ Partagez le répertoire racine

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)

-Principales utilisations du volume nommé et du volume nommé

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

Recommended Posts

[Docker-compose] Comment utiliser des volumes de volumes non nommés et nommés. Lier la monture
Comment utiliser StringBurrer et Arrays.toString.
Comment utiliser EventBus3 et ThreadMode
Comment utiliser l'égalité et l'égalité (comment utiliser l'égalité)
Comment utiliser setDefaultCloseOperation () de JFrame
Comment utiliser le volume nommé dans docker-compose.yml
Comment configurer et utiliser kapt
[Java] [Maven3] Résumé de l'utilisation de Maven3
Comment utiliser les méthodes substring et substr
Comment utiliser @Builder et @NoArgsConstructor ensemble
Comment utiliser les fichiers args:, environment:, env_file: et .env avec la commande docker-compose
[Java] Notez comment utiliser RecyclerView et comment implémenter le traitement par balayage animé.
Promesse JDBC et exemple d'écriture
[Java] Comment utiliser la classe FileReader et la classe BufferedReader
[Ruby] Comment utiliser la méthode gsub et la sous-méthode
Sortie de la façon d'utiliser la méthode slice
Comment utiliser le contrôle segmenté et les points à noter
Comment utiliser la portée et le traitement des passes (servist)
Comment utiliser JQuery dans Rails 6 js.erb
[Java] Comment utiliser la classe Calendar et la classe Date
Comment utiliser Eclipse sur mon PC avec 32 bits et 2 Go de mémoire
Comment utiliser Map
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment utiliser MapStruct
Comment utiliser TreeSet
[Comment utiliser l'étiquette]
Comment écrire docker-compose
Comment utiliser l'identité
Comment utiliser le hachage
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Résumé de l'API de communication Java (1) Comment utiliser Socket
Comment créer docker-compose
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Résumé de l'API de communication Java (2) Comment utiliser HttpUrlConnection
Comment utiliser Dozer.mapper
Comment utiliser Gradle
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Explication de Ruby on rails pour les débutants ④ ~ À propos des règles de dénomination et comment utiliser form_Tag ~
Comment utiliser et appliquer la classe JFrame / Canvas de Java
Comment utiliser Map
Comment utiliser OpenCV 4 sur Android et afficher la vue en direct de la caméra
Comment utiliser le modèle entraîné Tensorflow 2.0 avec Kotlin / Java
Comment utiliser l'icône Font Awesome pour ul et li
Comment appeler et utiliser l'API en Java (Spring Boot)
Procédures pour transmettre RealmObject à Fragment et comment utiliser Parceler