Docker Toolbox: Error response from daemon: invalid mode: /root/docker

孤人 提交于 2019-12-04 08:28:27

I got the same issue while using docker toolbox. Using one more '/' before your source path as well as before your target path will resolve this problem. In your case it will look like this:

docker run -ti -h python -v /${pwd}://root/docker -p 9999:9999 ubuntu:latest /bin/bash

if this doesn't work then try using absolute path with extra '/' like this:

docker run -ti -h python -v //c/path_to_application://root/docker -p 9999:9999 ubuntu:latest /bin/bash

Turned out that Docker Toolbox needs a different approach as stated in this discussion

Docker Forums: Map Windows Directory to Docker Container

As they said,

On Windows, you can not directly map Windows directory to your container. Because your containers are reside inside a VirtualBox VM. So your docker -v command actually maps the directory between the VM and the container.

So you have to do it in two steps:

Map a Windows directory to the VM through VirtualBox manager Map a directory in your container to the directory in your VM You better use the Kitematic UI to help you. It is much eaiser.

  • I first defined a shared folder on VirtualBox to the machine I use.
  • Then closed that machine and docker windows, then started docker toolbox again.
  • Then run docker-machine ssh default, and just change directory to the folder you shared (with given name). Mine was "cd mydocker", then with ls you can see the files you shared with VM.
  • And in toolbox, run docker run -it -v /mydocker:/path_in_container image_name /bin/sh
  • You should see the folder and content in /path_in_container.

Use absolute path in windows, Something like:

docker run -ti -h python -v /c/path_to_application:/root/docker -p 9999:9999 ubuntu:latest /bin/bash

Add /c/then_remaining_part_to_your_app, note that /c/ is the drive. It should work.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!