新技术论坛
搜索
查看: 845|回复: 0
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    开心
    2016-12-9 18:18
  • 签到天数: 85 天

    连续签到: 1 天

    [LV.6]常住居民II

    扫一扫,手机访问本帖
    楼主
    跳转到指定楼层
    发表于 2016-3-26 16:54:16 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    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
    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    手机版|Archiver|开发者俱乐部 ( ICP/ISP证:辽B-2-4-20110106号 IDC证:辽B-1-2-20070003号 )

    GMT+8, 2025-1-4 01:58 , Processed in 0.119119 second(s), 19 queries .

    X+ Open Developer Network (xodn.com)

    © 2009-2017 沈阳讯网网络科技有限公司

    快速回复 返回顶部 返回列表