VOLUMEl'instruction devient intéressante lorsque vous la combinez avec le volumes-fromparamètre d'exécution.
Compte tenu du Dockerfile suivant:
FROM busybox
VOLUME /myvolume
Construisez une image avec:
docker build -t my-bb .
Et faites tourner un conteneur avec:
docker run --rm -it --name my-first-bb my-bb
La première chose à noter est que vous aurez un dossier dans cette image nommé myvolume. Mais ce n'est pas particulièrement intéressant car lorsque nous sortirons du conteneur, le volume sera également supprimé.
Créez un fichier vide dans ce dossier, alors exécutez ce qui suit dans le conteneur:
cd myvolume
touch hello.txt
Maintenant, lancez un nouveau conteneur, mais partagez le même volume avec my-first-bb:
docker run --rm -it --volumes-from my-first-bb --name my-second-bb my-bb
Vous verrez que my-second-bbcontient le fichier hello.txtdans le myvolumedossier.
Une fois que vous quittez les deux conteneurs, votre volume sera également supprimé.