Docker
Concept de volumes Docker
Recherche…
Remarques
Les nouveaux venus chez Docker ne réalisent souvent pas que les systèmes de fichiers Docker sont temporaires par défaut. Si vous démarrez une image Docker, vous obtiendrez un conteneur qui, à la surface, se comporte comme une machine virtuelle. Vous pouvez créer, modifier et supprimer des fichiers. Cependant, contrairement à une machine virtuelle, si vous arrêtez le conteneur et le redémarrez, toutes vos modifications seront perdues - tous les fichiers précédemment supprimés seront désormais de retour et tous les nouveaux fichiers ou modifications que vous avez apportés ne seront plus présents.
Les volumes dans les conteneurs Docker autorisent les données persistantes et le partage des données de la machine hôte dans un conteneur.
A) Lancer un conteneur avec un volume
[root@localhost ~]# docker run -it -v /data --name=vol3 8251da35e7a7 /bin/bash
root@d87bf9607836:/# cd /data/
root@d87bf9607836:/data# touch abc{1..10}
root@d87bf9607836:/data# ls
abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9
B) Maintenant, appuyez sur [cont + P + Q] pour sortir du conteneur sans terminer le conteneur en vérifiant si le conteneur est en cours d'exécution.
[root@localhost ~]# docker ps
D87bf9607836 8251da35e7a7 "/ bin / bash" Il y a une minute environ 31 secondes vol3 [root @ localhost ~] #
C) Exécuter 'docker inspect' pour vérifier plus d'informations sur le volume
[root@localhost ~]# docker inspect d87bf9607836
"Mounts": [{"Nom": "cdf78fbf79a7c9363948e133abe4c572734cd788c95d36edea0448094ec9121c", "Source": "/ var / lib / docker / volumes / cdf78fbf79a7c9363948e133abe4c572734cd788c95d36edea0448094ec9121c / _data", "Destination": "/ data", "Driver": "local" "Mode": "", "RW": vrai
D) Vous pouvez attacher un volume de conteneurs en cours d'exécution à un autre conteneur
[root@localhost ~]# docker run -it --volumes-from vol3 8251da35e7a7 /bin/bash
root@ef2f5cc545be:/# ls
bin boot données dev etc home lib64 media mnt opt proc root exécuter sbin srv sys tmp usr var
root@ef2f5cc545be:/# ls
/ data abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9
E) Vous pouvez également monter votre répertoire de base à l'intérieur du conteneur
[root@localhost ~]# docker run -it -v /etc:/etc1 8251da35e7a7 /bin/bash
Ici: / etc est le répertoire de la machine hôte et / etc1 est la cible à l'intérieur du conteneur