【问题标题】:Vagrant : synchronised folder that is creating during provisionning errorVagrant:在配置错误期间创建的同步文件夹
【发布时间】:2017-03-13 20:22:23
【问题描述】:

我正在尝试使用 Vagrantfile 中的此指令在我的 vagrant box 和我的主机之间共享一个文件夹:

  config.vm.synced_folder "./syncWithBox", "/var/www/html/"

问题是在配置(安装 apache2 服务器)期间创建了 /var/www/html/ 文件夹。 因此,当我流浪时,会出现错误,因为 /var/www 文件夹在配置之前不存在! 有没有办法解决这个问题?配置后如何告诉 vagrant 执行文件夹同步?

我看到了similar question here,但答案并不是我要找的

【问题讨论】:

  • 您是否希望与主机共享访客的 /var/www/html 及其内容,反之亦然?
  • 我想和宿主文件夹共享访客文件夹 /var/www/html/ ~/vagrant-box/syncWithBox/
  • 这不是使用 virtualbox 提供程序共享目录的工作方式。这是基于主机内容的双向同步。您始终可以设置飞行服务器或使用例如rsync 来做到这一点。顺便说一句,当您执行上述操作时,它将在来宾上创建 /var/www/html。

标签: vagrant vagrantfile


【解决方案1】:

此解决方法对我有用。我将以下命令放在 install.sh 脚本中并运行它:

    #!/bin/bash
    vagrant plugin install vagrant-vbguest && vagrant up --no-provision 
    sed -i 's/#config.vm.synced_folder/config.vm.synced_folder/' Vagrantfile
    vagrant halt && vagrant up --no-provision 
    vagrant provision
  1. 使用 vagrant-vbguest 插件安装 vbox 添加,无需配置即可安装 Vagrant
  2. 例如使用 sed 取消同步文件夹指令的注释
  3. 停止盒子并在不配置的情况下将其启动:因此主机和来宾之间的文件夹为空但同步
  4. 最后,配置盒子

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 2015-08-21
    • 2016-02-08
    • 2016-04-25
    • 2013-11-01
    • 2016-06-18
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多