昨天,今天,明天,每天的每天,你是否都多懂得一点点...

星期五, 五月 31, 2019

Docker toolbox -v 映射本地文件失败的问题

我同时安装了 docker windows 和 docker toolbox

所以当我启用Hyper-v 的时候,我就可以使用 Docker windows, 而禁用 Hyper-v 的时候则使用 Docker toolbox. 

有意思的是, 当我使用Docker toolbox 的时候, 原来的 docker windows 的 docker.exe 命令也可以工作。 

不需要在 docker toolbox 的 terminal 里使用 docker, 在普通的 cmd 里也可以做到, 唯一不能做的就是不能使用 -v 参数

如果在cmd 里使用 -v 参数映射本地文件夹的话, 会得到这样的错误

 docker run --rm -v %cd%:/root fennng/autosub ls
docker: Error response from daemon: invalid mode: /root.
See 'docker run --help'.

如果不用绝对路径, 而用相对路径来表示本地文件夹的话, 不会出错, 但是映射其实没有成功。

所以当要使用 -v 参数的时候, 必需在 docker toolbox 的 terminal 里面进行, 而且当前目录必需是 %userprofile% 或其子目录

其实docker toolbox 的 terminal 也只是调用了 git 的 bash, 执行了一个脚本做了一些预设。

"C:\Program Files\Git\bin\bash.exe" --login -i "C:\Program Files\Docker Toolbox\start.sh"

但是有了这个预设就可以了映射了, 以下是一次成功的映射, 当前目录设置在"下载" 文件夹

dengy@CL221 MINGW64 /usr
$ cd ~/Downloads

dengy@CL221 MINGW64 ~/Downloads
$ docker run --rm -v $PWD:/root fennng/autosub ls
1.m3u8
1.txt
1.zip
1182515934.jpg
1200px-Telegram_logo.svg.png
1344242665.jpg
1448618813.jpg
1456008779.jpg
1543530317636.jpg
165295.epub
165295.mobi
16pic_2890640_b.jpg
1810490484.jpg




没有评论:

其它博客地址

此博客的同步博客地址: http://fengnz.wordpress.com
这里进入我的MSN SPACE.