Gérer et utiliser les volumes Docker
Créer et monter des volumes
Pour créer un nouveau volume et le monter sur un conteneur, vous pouvez utiliser le flag --mount
avec la commande docker run
. Par exemple, pour créer un nouveau volume nommé my-volume
et le monter sur le répertoire /data
à l'intérieur du conteneur my-container
:
docker run -d --name my-container --mount source=my-volume,target=/data nginx
Alternativement, vous pouvez utiliser le flag --volume
(ou -v
) pour obtenir le même résultat :
docker run -d --name my-container -v my-volume:/data nginx
Supprimer des volumes
Pour supprimer un volume, vous pouvez utiliser la commande docker volume rm
. Par exemple, pour supprimer le volume my-volume
:
docker volume rm my-volume
Notez que vous ne pouvez supprimer que les volumes qui ne sont pas utilisés par aucun conteneur. Si un volume est en cours d'utilisation, vous devrez arrêter et supprimer les conteneurs qui l'utilisent avant de pouvoir supprimer le volume.
Sauvegarder et restaurer des volumes
Pour sauvegarder un volume, vous pouvez utiliser la commande docker run
pour créer un nouveau conteneur qui exporte le contenu du volume dans un archive tar. Par exemple :
docker run --rm --volumes-from my-container -v $(pwd):/backup busybox tar cvf /backup/my-volume.tar /data
Cela créera un fichier my-volume.tar
dans le répertoire actuel contenant le contenu du volume my-volume
.
Pour restaurer le volume, vous pouvez utiliser la commande docker run
pour créer un nouveau conteneur qui importe l'archive tar dans un volume :
docker run --rm -v my-volume:/data -v $(pwd):/backup busybox tar xvf /backup/my-volume.tar
Cela restaurera le contenu du fichier my-volume.tar
dans le volume my-volume
.
Utiliser des volumes avec LabEx
LabEx offre un moyen pratique de gérer et d'utiliser les volumes Docker. Avec LabEx, vous pouvez facilement créer, monter et gérer des volumes, ainsi que effectuer des opérations de sauvegarde et de restauration. LabEx propose également des fonctionnalités avancées telles que la réplication de volumes et la haute disponibilité, ce qui en fait un outil puissant pour gérer vos applications basées sur Docker.