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
此时我可以完成配置。
我正在尝试使用 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
此时我可以完成配置。