V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
sdslnmd
V2EX  ›  Vagrant

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

  •  
  •   sdslnmd · Dec 15, 2012 · 9381 views
    This topic created in 4887 days ago, the information mentioned may be changed or developed.
    mac和win分别说下。谢谢……
    8 replies    1970-01-01 08:00:00 +08:00
    vvoody
        1
    vvoody  
       Dec 15, 2012
    默认/vagrant会映射到Vagranfile所在的文件夹,你可以把项目文件放到那儿,然后虚拟机的web或者app服务器的目录指向/vagrant/ooxx/。

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

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

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

    改完重启一下虚拟机就得。
    vvoody
        8
    vvoody  
       Dec 17, 2012
    @HowardMei 谢谢提醒,那就是我看得那篇文章有误了 http://nefariousdesigns.co.uk/vagrant-virtualised-dev-environments.html
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2661 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 03:37 · PVG 11:37 · LAX 20:37 · JFK 23:37
    ♥ Do have faith in what you're doing.