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

无报错,正确输出

 

posted @   知-青  阅读(6363)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示