Partage de données entre conteneurs
L'un des grands avantages des volumes Docker est la capacité de partager des données entre les conteneurs. Créons un autre conteneur qui utilise le même volume :
docker run -d --name another_container -v my_data:/app/shared_data ubuntu:latest sleep infinity
Cette commande est très similaire à celle que nous avons utilisée précédemment, mais nous donnons au conteneur un nom différent et nous montons le volume sur un chemin différent à l'intérieur du conteneur.
Maintenant, vérifions que ce nouveau conteneur peut accéder aux données que nous avons créées plus tôt :
docker exec another_container cat /app/shared_data/test.txt
Vous devriez voir le même message "Hello from Docker volume" que nous avons écrit plus tôt. Cela montre que les deux conteneurs accèdent aux mêmes données.
Ajoutons plus de données depuis ce nouveau conteneur :
docker exec another_container sh -c "echo 'Data from another container' >> /app/shared_data/test.txt"
Cette commande ajoute une nouvelle ligne à notre fichier test.txt
.
Maintenant, si nous vérifions le contenu du fichier depuis l'un ou l'autre des conteneurs, nous devrions voir les deux lignes :
docker exec my_container cat /app/data/test.txt
Vous devriez voir à la fois "Hello from Docker volume" et "Data from another container" dans la sortie.
Cela démontre comment les volumes Docker peuvent être utilisés pour partager des données entre les conteneurs, ce qui est incroyablement utile pour de nombreuses applications.