0

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

BTW 主机操作系统是 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目录不存在。我尝试手动创建它,然后重新运行配置过程,但没有任何变化。

谁能建议我可能做错了什么?

4

1 回答 1

0

事实证明,虽然该框确实出现了,但由于“config.vm.provider”部分中的配置问题,引导程序似乎没有完全完成。这意味着流浪者坐骑从未发生过。

在解决这些问题时,我遇到了表单失败:

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

阅读问题报告,解决方案似乎是安装 vagrant-vbguest 插件:

vagrant plugin install vagrant-vbguest

至此,我能够完成配置。

于 2016-06-05T03:25:05.947 回答