Docker在Mac下挂在/Users之外的目录
Docker在Mac下是在VirtualBox虚拟机中运行的。VirtualBox是用共享的形式把宿主机的目录暴露给docker的container,因为默认只挂载了/Users目录,所以Docker的Data Volume都只能mount到/Users目录下面的东西。
Kitematic中的提示
Invalid directory. Volume directories must be under your Users directory
解决办法
修改VirtualBox的设置,给Docker虚拟机添加共享目录
修改Docker虚拟机设置,使其能自动自动挂载共享目录
注意:Kitematic中是禁止添加/Users以外的目录的,所以要通过docker命令来创建container才能挂载到我们增加的新目录。
操作步骤
先打开VirtualBox的管理界面,找到Docker的虚拟机(默认是default),进入设置。
在Shared Folders中添加你希望在Docker虚拟机中挂载的宿主机目录。
如:把宿主机的/workspace目录共享为www
docker-machine ssh default
cd /var/lib/boot2docker/
sudo vi bootlocal.sh #文件内容在后面,这个文件启动时会被自动执行
sudo chmod u+x bootlocal.sh
sudo reboot
bootlocal.sh
#!/bin/sh
mkdir -p /www
mount -t vboxsf /www /www
挂载示例
docker run --name nginx -P -v /workspace/www:/usr/share/nginx/html -v /workspace/nginx/default.conf:/etc/nginx/conf.d/default.conf nginx
参考链接
http://stackoverflow.com/questions/24212228/boot2docker-on-mac-accessing-local-files/29983253#29983253
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Hessian 来源: Hessian's Blog
- 标签: Docker
- 发布时间:2016-03-21 23:16:36
-
[770] WordPress插件开发 -- 在插件使用 -
[54] 页面停留时间和网站停留时间详解 -
[51] AWS云平台系列介绍(一):AWS平台与EC -
[51] 关于IO的同步,异步,阻塞,非阻塞 -
[49] YSLOW法则中,为什么yahoo推荐用GE -
[48] 程序员技术练级攻略 -
[47] cookie窃取和session劫持 -
[44] 红黑树并没有我们想象的那么难(上) -
[44] 你必须了解的Session的本质 -
[43] Push Or Pull?
