IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

Hessian's Blog 2016-03-21 23:16:36 累计浏览 3,201 次
本机暂存

Docker在Mac下是在VirtualBox虚拟机中运行的。VirtualBox是用共享的形式把宿主机的目录暴露给docker的container,因为默认只挂载了/Users目录,所以Docker的Data Volume都只能mount到/Users目录下面的东西。

Kitematic中的提示

Invalid directory. Volume directories must be under your Users directory

解决办法

  1. 修改VirtualBox的设置,给Docker虚拟机添加共享目录

  2. 修改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

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. 公司倒了,请让领导先走 (累计阅读 13,407)
  2. 个人开公司的流程,以后用得着 (累计阅读 7,924)
  3. 一个程序员的血泪史 (累计阅读 6,321)
  4. Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解 (累计阅读 6,101)
  5. 献给有裸辞想法的朋友们 (累计阅读 5,541)
  6. 大公司与风险管理 (累计阅读 5,303)
  7. 互联网的人才储备 (累计阅读 4,990)
  8. 给程序员们的工资报价提醒 (累计阅读 4,838)
  9. Twitter新员工的入职过程是怎样的? (累计阅读 4,602)
  10. Web工程师的工具箱 (累计阅读 4,531)