VOLUME
a instrução torna-se interessante quando você a combina com o volumes-from
parâmetro de tempo de execução.
Dado o seguinte Dockerfile:
FROM busybox
VOLUME /myvolume
Crie uma imagem com:
docker build -t my-bb .
E gire um contêiner com:
docker run --rm -it --name my-first-bb my-bb
A primeira coisa a notar é que você terá uma pasta chamada nesta imagem myvolume
. Mas não é particularmente interessante, pois quando sairmos do contêiner o volume também será removido.
Crie um arquivo vazio nesta pasta, então execute o seguinte no contêiner:
cd myvolume
touch hello.txt
Agora gire um novo contêiner, mas compartilhe o mesmo volume com my-first-bb
:
docker run --rm -it --volumes-from my-first-bb --name my-second-bb my-bb
Você verá que my-second-bb
contém o arquivo hello.txt
na myvolume
pasta.
Depois de sair de ambos os contêineres, seu volume também será removido.