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

Error response from daemon: invalid mode: /var/www.

No windows home usando o docker toolbox:

λ docker run -d -p 8080:3000 -v "c:\Users\vladi\Desktop\Sites\volume-exemplo:/var/www" -w "/var/www/" node npm start
docker: Error response from daemon: invalid mode: /var/www.
See 'docker run --help'.

usando caminho relativo:

c:\Users\vladi\Desktop\Sites\volume-exemplo  (volume-exemplo@1.0.0)
λ docker run -d -p "8080:3000" -v "$(pwd):/var/www" -w "/var/www" node npm start
docker: Error response from daemon: create $(pwd): "$(pwd)" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
See 'docker run --help'.

Vou tentar no mac e no linux, mas tem solução no Windows? no trabalho não tenho como escolher o SO.

Obrigado!

9 respostas

No Mac rodou sem problemas.

Tentei a solução do Leonardo no Windows, mas mesmo após dar o restart na máquina Virtual não estava conseguindo chegar na nova pasta mapeada. Ainda não rolou no Windows Home.


Solução Leonardo:

Para quem usa o docker tools deve seguir o seguinte passo para poder criar e atribuir pastas:

Abra o programa Virtual Box

Selecione a máquina (neste caso a default).

Abra as configurações. Vá em pastas compartilhadas

Inclua uma nova pasta compartilhada. Por exemplo: Caminho da Pasta: C:/Users/Desktop/Documents Nome da Pasta: c/documentos

Clique em sair.

Abra o Terminal "Docker Quickstat" e restart a máquina docker. Use este comando:

docker-machine restart.

Para verificar se funcionou, siga os passos:

Faça um SSH para a máquina docker Use este comando:

docker-machine ssh

Vá para a pasta que você compartilhou/montou No caso deste exemplo: cd /c/documentos check os usuários donos da pasta.

Você conseguirá com "ls -all" e verifique se o dono pode ser "docker"

Voce pode usar o comando:

 docker run -d -p 8080:3000 -v "\c\documentos\volume-exemplo:/var/www" -w "/var/www" node npm start

No ubuntu rodou sem problemas;

Oi Vladimir, tudo bem? Esse é apenas um compartilhamento de como resolver aquele erro, é isso ou você teve problemas? Fiquei um pouco confuso já que não tem nenhuma explicação no tópico que me deixe claro o que aconteceu.

oi Wanderson, desculpe -- fui evoluindo o curso e testando talvez não tenha ficado claro mesmo. Mas, resumindo: Tive problemas.

Com exceção do Ubuntu e do Mac, ou seja, apenas no Windows Home Single Language, usando o docker toolbox, ao tentar executar o comando:

docker run -d -p 8080:3000 -v "c:\Users\vladi\Desktop\Sites\volume-exemplo:/var/www" -w "/var/www/" node npm start

Tomei o erro:

Error response from daemon: invalid mode: /var/www.
See 'docker run --help'.

E fazendo com o método de caminho relativo:

docker run -d -p "8080:3000" -v "$(pwd):/var/www" -w "/var/www" node npm start

Tomei o erro:

docker: Error response from daemon: create $(pwd): "$(pwd)" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
See 'docker run --help'.

Fiz exatamente a mesma coisa no Windows, no Mac e no Ubuntu Linux, a única diferença entre eles foi o uso do docker toolbox. Tentei a solução que o colega (Leonardo) colocou aqui no Fórum da Alura relativa a este mesmo problema, mas não consegui por ela resolver.

Oi Vladimir, o pwd só funciona no powershell.

O mais estranho é que o erro é na montagem do volume. Tenta colocar a barra / no final. Acho que já tive problema com isso. Aliás, essa pasta do volume, ela existe, certo?

Vladimir, veja essa solução

https://cursos.alura.com.br/forum/topico-dificuldade-com-volume-no-docker-tollbox-74836
solução!

Boa noite, tive o mesmo problema, foi necessário compartilhar no tollbox a unidade. Depois executei docker container run -p 8080:80 -v "/c/Users/alexandre.santos/curso-docker/ex-volume/html:/usr/share/nginx/html" nginx

Fui em settings... > Shared Drives seleciona a unidade que deseja compartilhar.

https://cursos.alura.com.br/forum/topico-erro-ao-tentar-criar-um-volume-no-docker-46391

Legal gente, obrigado por linkarem a solução aqui. Resolveu pra você Vladimir?