Vagrant provision 而没有找到/vagrant?

Vagrant provision and not finding /vagrant?

我正在尝试使用 Vagrant 和 virtual-box 提供 VM 进行开发,但我无法访问我预期基本配置文件所在的 /vagrant 文件夹,无法复制到它们的位置。

BTW 主机 OS 是 MacOS X.

我的目录结构是:

provision/
   install.sh
   config/
      nginx/mydomain
Vagrantfile

Vagrantfile的内容如下:

require 'yaml'
myproject_version = "0.22.1"

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "ubuntu/xenial64"

  config.vm.synced_folder ".", "/vagrant", create: true, group: "ubuntu", owner: "ubuntu"

  config.vm.provider :virtualbox do |vb, override|
    vb.name = 'myprojectserver-dev-standalone'

    # please customize hostname and private ip configuration if you needed.
    override.vm.hostname = "myhost"

    # frontend-webui
    override.vm.network :forwarded_port, guest: 5050, host: 5050
    # admin-webui
    override.vm.network :forwarded_port, guest: 8080, host: 8080
    # services
    override.vm.network :forwarded_port, guest: 8081, host: 8081

    override.vm.provision :shell do |s|
      s.path = "provision/install.sh"
      s.args = "/home/ubuntu ubuntu"
    end
  end

end

在我的脚本中我尝试:

ls -l /vagrant/
cp /vagrant/provision/config/nginx/mydomain

问题是 /vagrant 目录不存在。我尝试手动创建它,然后重新运行 提供过程,但没有任何变化。

任何人都可以指出我可能做错了什么吗?

事实证明,虽然框确实出现了,但由于 'config.vm.provider' 部分中的配置问题,bootstrap 似乎没有完全完成。这意味着 vag运行t 挂载从未发生过。

在解决这些问题后,我 运行 变成了以下形式的失败:

Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u ubuntu`,gid=`getent group ubuntu | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u ubuntu`,gid=`id -g ubuntu` vagrant /vagrant

阅读 issue report,解决方案似乎是安装 vag运行t-vbguest 插件:

vagrant plugin install vagrant-vbguest

此时我可以完成配置。