Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

" invalid mode: /var/www." - Erro ao criar o volume e mapea-lo com a minha maquina

Pessoal, dei uma lida nos outros topicos com erro parecido e ainda não cheguei a uma solução.

Estou com a versão do docker toolbox, pq o meu windows eh o 10, virtualizado, mas home single language.

ao colocar o comando abaixo, recebi o erro:

$ docker run -it -v "C:\Users\Rogerio\Desktop:/var/www" ubuntu
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: invalid mode: /var/www.
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.

Alguém pode me dizer quais são os passos que devem ser seguidos para conseguir executar com sucesso esse comando? Vi os videos seguintes no curso, mas não solucionou a dúvida.

Tentei criar a pasta compartilhada 'teste' como permanente com o caminho "C:\Users\Rogerio\Desktop" , restartei com docker-machine restart e aí fiz

$ docker run -it -v "teste:/var/www" ubuntu
root@e0ac2736aa88:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@e0ac2736aa88:/# cd var/www
root@e0ac2736aa88:/var/www# ls
root@e0ac2736aa88:/var/www# echo "oi" > blz.txt

mas na hora de salvar um arquivo, não está salvando na minha área de trabalho.

Fico aguardando a resposta, pois não estou conseguindo passar dessa parte para poder continuar o curso e estou super empolgado para seguir.

Obrigado.

6 respostas

Oi, Rogerio, tudo bem?

Você viu o seu mounts se confirma a pasta criada var/www como caminho para onde serão destinados os dados e arquivos que tu criar. Para verificar, use o comando: docker inspect < container id >

Aguardo :}

Oi, Lais. td sim e vc? Então, acabei de ver como está a propriedade mounts e pelo que vi , não mapeou mesmo. Revi o video e reparei, que a princípio, o docker gera uma copia de tudo que eu fizer na pasta "/var/www" nessa pasta "/mnt/sda1/var/lib/docker/volumes/teste/_data", mas não encontrei essa pasta no meu computador também e nem o arquivo 'blz.txt'. Pq isso aconteceu?

Segue a propriedade mounts:


"Mounts": [
            {
                "Type": "volume",
                "Name": "teste",
                "Source": "/mnt/sda1/var/lib/docker/volumes/teste/_data",
                "Destination": "/var/www",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }

Obrigado e fico no aguardo.

solução!

O procedimento para utilizar o volume corretamente no Docker Toolbox é:

  • Acessar a configurações da máquina vitual 'default' no VirtualBox;
  • Adicionar a pasta compartilhada desejada, marcando como 'Montar Automaticamente' e 'Tonar Permanente' e dar um nome para o compartilhamento;
  • No momento de montar o volume utilizar o nome dado ao compartilhamento 'docker run -v "//pastalocal:/var/www" ubuntu', sendo 'pastalocal' o nome que foi dado ao compartilhamento no VirtualBox.

Muito Obrigado, Luiz, por ter compartilhado a sua solução!

Muito obrigado, Luiz e Laís. Funcionou.

Do passo em que eu estava, faltou colocar 'montar automaticamente', colocar o comando 'docker-machine restart' e quando coloquei

docker run -it -v "//teste:/var/www" ubuntu

automaticamente ao entrar na pasta var/www, já estava o conteúdo da minha área de trabalho no comando 'ls'. fui marcar como solução, mas já foi marcado merecidamente. muito show. valeu mesmo.

apenas como curiosidade e que pode ajudar algumas pessoas, olha como ficou o meu mounts depois q funcionou:

"Mounts": [
            {
                "Type": "bind",
                "Source": "/teste",
                "Destination": "/var/www",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],