【问题标题】:How to enable two-way folder sync in Vagrant with VirtualBox?如何使用 VirtualBox 在 Vagrant 中启用双向文件夹同步?
【发布时间】:2015-12-24 07:06:01
【问题描述】:

我已经有一段时间没有在 Linux 上使用 Vagrant 了。当我开始使用新版本(Vagrant 1.8)时,我遇到了一个问题:在来宾 VM 中创建的文件没有出现在主机的同步文件夹中。

如何强制 Vagrant 将文件从客户操作系统同步到主机操作系统?

【问题讨论】:

    标签: vagrant virtualbox


    【解决方案1】:

    根据文档,当 Vagrantfile 中的 type 选项 config.vm.synced_folder 参数未指定时,Vagrant 会尝试选择最佳可用选项:

    type(字符串)- 同步文件夹的类型。如果未指定,Vagrant 将自动为您的环境选择最佳同步文件夹选项。否则,您可以指定特定类型,例如“nfs”。

    从 1.5 版开始 Vagrant introduced 新增“rsync 同步文件夹”功能。

    所以在我的例子中,rsync 类型是自动选择的,这是单向同步:从主机到访客。

    为了使文件夹以两种方式同步,我在我的 Vagrantfile 中添加了明确的定义:

    config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
    

    当然,这仅适用于 VirtualBox。

    双向同步对于工作流很有用,其中应用程序在客户机上创建文件,例如现代 Web 框架中的数据库迁移文件。

    注意:当您的项目有大量文件时,virtualbox 同步文件夹会出现性能问题。

    【讨论】:

    • 全新安装后,创建共享文件夹时您可能会收到以下错误:Vagrant was unable to mount VirtualBox shared folders. This is usually because the filesystem "vboxsf" is not available. This filesystem is made available via the VirtualBox Guest Additions and kernel module. Please verify that these guest additions are properly installed in the guest. This is not a bug in Vagrant and is usually caused by a faulty Vagrant box. Install Guest Additions vagrant plugin install vagrant-vbguest
    • @Alex:这对我不起作用。我得到这个:“无法解决依赖关系:用户请求'vagrant-hostmanager(= 1.8.6)'”
    • @AlexHendren 在 2018 年,您可以使用 vagrant-vbguest 插件,它会自动在来宾系统上安装主机的 VirtualBox Guest Additions。通过vagrant plugin install vagrant-vbguest 安装它
    • 如果它对任何人有帮助,在我的 CentOS 7 vagrant box 上,我必须 vagrant ssh 进入盒子并运行 sudo yum -y update 然后关闭 ssh 会话并运行 vagrant reload 以便排序在此之前解决某种内核头问题。上次我启动一个新的虚拟机(~2018 年年中)时,这对我来说不是问题,但现在需要让双向同步目录与 vagrant 和 centos7 一起工作
    【解决方案2】:

    谢谢,这正是我过去几天一直在寻找的东西!!!!!!!我在 Laravel 5、宅基地和流浪者中遇到了这个问题。那里有很多答案,但没有一个对我有用。我的 yaml 文件的文件夹部分也有 rsync,我也必须删除它。在这两个更改之后,文件共享终于在主机和客户端之间为我同步了。

    require File.expand_path(File.dirname(__FILE__) + '/scripts/homestead.rb')
    

    config.vm.synced_folder "."、"/vagrant",输入:"virtualbox"

    Vagrant.configure(VAGRANTFILE_API_VERSION) 做|config|

    这是我对 Vagranfile 进行更改的地方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-16
      • 1970-01-01
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 2016-06-18
      • 2016-03-21
      相关资源
      最近更新 更多