1、执行vagrant up启动虚拟机出错
Bringing machine 'homestead' up with 'virtualbox' provider...
A VirtualBox machine with the name 'homestead' already exists.
Please use another name or delete the machine with the existing
name, and try again.
删除vagrant目录下生成的.vagrant隐藏文件即可
2、乱码
D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/io.rb:32:in `encode': "\xB9" followed by "/" on GBK (Encoding::InvalidByteSequenceError)
from D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/io.rb:32:in `read_until_block'
from D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/subprocess.rb:194:in `block in execute'
from D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/subprocess.rb:192:in `each'
修改配置文件Vagrantfile
Encoding.default_external = 'UTF-8'
3、指定虚拟机IP
指定之后每次启动虚拟机,IP就不会变了
config.vm.network :private_network, ip: "192.168.33.1"
4、共享目录配置
config.vm.synced_folder ".","www",create:true,disabled:true,owner:'root',group:'root',mount_options:["dmode=777","fmode=777"]
字段解析:
- “.”:必须,物理机目录,可以是绝对地址或相对地址,相对地址是指相对与vagrant配置文件所在目录。点代表VagrantfIle所在目录,可以改成其他,如:“D:/www”
- www:必须,挂载到虚拟机上的目录地址
- create:true:可选,默认为false,若配置为true,挂载到虚拟机上的目录若不存在则自动创建
- disabled:true:可选,默认为false,若为true,则禁用该项挂载
- owner:‘root’:可选,虚拟机系统下文件所有者(确保系统下有该用户,否则会报错),默认为vagrant
- group:‘root’:可选,虚拟机系统下文件所有组( (确保系统下有该用户组,否则会报错),默认为vagrant
- mount_options:[“dmode=777”,“fmode=777”]:可选,默认权限777,dmode配置目录权限,fmode配置文件权限,
- type:nfs:可选,指定文件共享方式,例如:‘nfs’,vagrant默认根据系统环境选择最佳的文件共享方式
示例
config.vm.synced_folder "D:/www", "/webser"
4、共享目录失效
安装插件
vagrant plugin install vagrant-vbguest
配置
Vagrantfile 配置共享目录,挂载位置换一个,不使用默认的 /vagrant
# . 点号表示当前目录,即Vagrantfile文件所在目录
config.vm.synced_folder ".", "/webser"
改了之后重启生效即可
vagrant reload