V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sdslnmd
V2EX  ›  Vagrant

vagrant中创建的虚拟机如何访问宿主机文件?

  •  
  •   sdslnmd · 2012-12-15 17:22:21 +08:00 · 8620 次点击
    这是一个创建于 4364 天前的主题,其中的信息可能已经有所发展或是发生改变。
    mac和win分别说下。谢谢……
    8 条回复    1970-01-01 08:00:00 +08:00
    vvoody
        1
    vvoody  
       2012-12-15 17:33:04 +08:00
    默认/vagrant会映射到Vagranfile所在的文件夹,你可以把项目文件放到那儿,然后虚拟机的web或者app服务器的目录指向/vagrant/ooxx/。

    默认网络是NAT,除了上面那个目录是无法访问到宿主的。可以编辑Vagrantfile添加一个host-only的网卡,这样里外就能互通,还能连外网。
    vvoody
        2
    vvoody  
       2012-12-15 17:35:09 +08:00
    windows下貌似要关闭nfs。config.vm.share_folder("v-root", "/vagrant", ".", :nfs => false)

    btw,只在lin下用过vagrant。
    terry
        3
    terry  
       2012-12-15 18:41:14 +08:00
    理论上只要开 sshd 宿主机能通过 ssh/sftp 访问客户机,winscp / filezilla 没有理由不行的。
    zl8723
        4
    zl8723  
       2012-12-16 00:54:05 +08:00
    请教一下各位,怎么在mac上怎么通过sftp工具连到vagrant的虚拟机上去。我用transmit,连不上。在命令行下,是需要先映射本地端口的。
    vvoody
        5
    vvoody  
       2012-12-16 19:11:46 +08:00
    vagrant ssh-config,然后用列出的设置
    zl8723
        6
    zl8723  
       2012-12-17 14:57:15 +08:00
    蠢了,可以通过transmit连接本地映射端口(vagrant ssh-config),e.g.:127.0.0.1 port:2222
    HowardMei
        7
    HowardMei  
       2012-12-17 18:20:09 +08:00
    @vvoody 我在Windows上用,NFS没问题,在Vagrantfile里指定一下就行,与宿主机OS无关:

    config.vm.share_folder "v-data", "/vdata", "./sharedfolder"
    v-data 这个就是共享数据配置项
    /vdata 指虚拟机下映射路径,默认好像不是这个,我改成 /vdata 好记
    ./sharedfolder 指主机共享文件夹,位置相对于Vagrantfile

    改完重启一下虚拟机就得。
    vvoody
        8
    vvoody  
       2012-12-17 20:33:59 +08:00
    @HowardMei 谢谢提醒,那就是我看得那篇文章有误了 http://nefariousdesigns.co.uk/vagrant-virtualised-dev-environments.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3167 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:26 · PVG 21:26 · LAX 05:26 · JFK 08:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.