Docker Toolbox在window 10 home 下挂载宿主机目录到容器的正确操作

Posted yuanjing-liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Toolbox在window 10 home 下挂载宿主机目录到容器的正确操作相关的知识,希望对你有一定的参考价值。

由于我是window 10 home 而不是 pro版本,只能使用Docker Toolbox,其实docker for window对windows的支持更好,还有GUI,home版本安装Docker也是极为艰辛。好在我安装好了,但是日常使用也是比pro版的Docker有更多的坑,在此把我踩过的坑,记录下来,惠泽他人。

这个坑是Docker Toolbox在window 10 home 下挂载宿主机目录到容器,愿以为是要在Docker为win10 pro提供GUI里设置与c盘共享,Google了很多方法,还是在docker社区里一位老哥一针见血的指出了这其实是语法错误,附上图和链接。

技术分享图片

出处:Can‘t set Docker Volume for Container in Windows Docker CE - Docker for Windows - Docker Forums

 

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。

譬如我要启动一个centos容器,宿主机的C:/Users/T480S/work/Engine目录挂载到容器的/Engine目录,可通过以下方式指定:

docker run -it -v C:/Users/T480S/work/Engine:/Engine -p 8000:8000 steveny/predictionio:0.12.0 /bin/bash

这样在容器启动后,容器内会自动创建/Engine的目录。通过这种方式,我们可以明确一点,即-v参数中,冒号”:”前面的目录是宿主机目录,后面的目录是容器内目录。

注意:容器目录不可以为相对路径,斜线为反斜线 ‘/’

但是依然还是报错了

技术分享图片

报错:Error response from daemon: invalid mode: /Engine

 

愿以为是要在Docker为win10 pro提供GUI里设置与c盘共享,Google了很多方法,还是在docker社区里一位老哥一针见血的指出了这其实是语法错误,参考上图。

这是参考别人指出的错误之后修改的代码

docker run -it -v /c/Users/T480S/work/Engine:/Engine -p 8000:8000 steveny/predictionio:0.12.0 /bin/bash

无报错,正确输出

技术分享图片

 

以上是关于Docker Toolbox在window 10 home 下挂载宿主机目录到容器的正确操作的主要内容,如果未能解决你的问题,请参考以下文章

win10家庭版安装Docker (Docker Toolbox)

win10通过Docker Toolbox安装docker及配置文件共享挂载本地磁盘目录

Windows安装Docker Toolbox

在Windows中玩转Docker Toolbox

在Windows中玩转Docker Toolbox转载

Docker:在 Windows 上使用 Docker Toolbox 共享卷