2
respostas

Encontrar arquivo.txt usando comando "docker run -v "/var/www" ubuntu" no PC host

Esta mais para curiosidade.

Ao executar o comando docker run -v "/var/www" ubuntu, eu entendi que o Docker cria uma pasta no container, onde voce vai mandar os dados, e ao remover o container, terá uma pasta na sua maquina real(host) com esses dados.

Veja, eu criei um arquivo .txt no container e agora quero encontra-lo na maquina real, mas não enderecei um diretorio para isso, deixando para o Docker Host resolver.

Como acessar essa pasta na maquina real(host)? Tem diferença entre S.O.?

2 respostas

Acho que vc precisa parear o diretório do host para o container Exemplo:

docker run -v “/opt/diretorio_Origem”:”/opt/destino”

Este exemplo e com montagem bind mas é possível fazer com os volumes do docker

Olá Vinicius, tudo bem? Veja bem, nesse caso, como você não fez o bind (ligação entre uma pasta já criada na sua máquina e uma pasta dentro do container) no comando docker run -v "/var/www" ubuntu o Docker vai criar uma pasta temporária para armazenar os dados que forem colocados dentro da pasta "/var/www" do container e quando o container for destruído a pasta temporária também será destruída assim não é viável pegar os dados que estavam nessa pasta. Então como o Willian falou você precisa fazer o bind de pasta para ter os dados mesmo que o container seja destruído ou então criar um volume previamente usando o comando:

docker volume create nome_do_volume

E depois usar esse volume no comando docker run, como por exemplo:

docker run -v "nome_do_volume:/var/www" ubuntu

E dessa forma mesmo que o container seja destruído você ainda terá os dados que foram salvos na pasta indo no diretório padrão dos volumes do Docker, no Windows geralmente é o C:\ProgramData\docker, mais pode ser outro local.

Espero ter esclarecido sua dúvida!