Estou montando um volume via Dockerfile conforme abaixo, mas nenhum arquivo aparece
Dockerfile:
...
VOLUME ["/home/alexandre/Documentos/desenv/workspace/qualidade_estatistica"]
...
Build
sudo docker build -t qualidade .
Run
alexandre@alexandre-System-Product-Name:~/Documentos/desenv/workspace/qualidade_estatistica$ sudo docker run -i -t qualidade /bin/bash
[sudo] senha para alexandre:
root@9eec1a1ddccf:/~/work# ls /home/alexandre/Documentos/desenv/workspace/qualidade_estatistica/
root@9eec1a1ddccf:/~/work#
Como pode ver no comando acima, nenhum arquivo está no diretório do volume.
Olá, a opção Volume usada no Dockerfile serve para mapear um diretório dentro do container, permitindo a escrita no diretório mapeado do sistema. Em outras palavras, o container não vai ler um diretório que contenha arquivos, basicamente ele inicia o mapeamento zerando o diretório escolhido, isso é usado como forma de acesso aos arquivos gerados dentro de um container.
Atualmente existem formas melhores para se trabalhar com volumes no Docker: https://docs.docker.com/storage/volumes/
a opção Volume usada no Dockerfile serve para mapear um diretório dentro do container, permitindo a escrita no diretório mapeado do sistema. Em outras palavras, o container não vai ler um diretório que contenha arquivos, basicamente ele inicia o mapeamento zerando o diretório escolhido, isso é usado como forma de acesso aos arquivos gerados dentro de um container.
Estou na duvida, provavelmente por conta do termo “mapear”, pelo que entendi o Volume do Dockerfile apenas criará um novo diretório vazio, sem diferenças em relação a um mkdir .