IT技术博客大学习 共学习 共进步
首页 / Hessian
IT 2016-03-21 23:16:36 / 累计浏览 3,120

Docker在Mac下挂在/Users之外的目录

这篇讲的是在 Mac 上使用 Docker 时遇到的一个常见坑:明明想把项目代码目录挂载进容器,Kitematic 却提示“Invalid directory. Volume directories must be under your Users directory”,死活不让选 `/Users` 之外的路径。 问题的根源在于,早期 Docker for Mac 的底层是通过 VirtualBox 虚拟机来运行的。出于安全考虑,虚拟机默认只和宿主机共享 `/Users` 这一个目录,所以所有挂载操作都被限制在了这个范围内。 文章作者分享了突破这个限制的完整解决方案。核心思路是手动给 Docker 虚拟机“开通权限”:首先在 VirtualBox 的设置里,添加一个新的共享文件夹,指向你想要挂载的宿主机目录。然后,通过 SSH 进入虚拟机,修改启动脚本 `bootlocal.sh`,让这个新目录在每次虚拟机启动时都能自动挂载成功。需要注意的是,Kitematic 本身还是禁止添加这些目录的,所以必须使用 `docker run` 命令行来创建容器才能顺利挂载。 文章提供了从修改设置到执行命令的每一步操作,并附上了具体的命令示例和 StackOverflow 上的参考链接,对于需要在 Mac 上管理非默认目录下 Docker 数据的开发者来说,这是一份直接可用的踩坑指南。