1.安装VirtualBox和Vagrant
在win10下先安装VirtualBox然后再安装Vagrant。我这里用的VirtualBox6.0.8,Vagrant_2.2.4_x86_64。
2.下载box
我这里用的Centos7
3.添加box
创建一个目录,在目录下进行添加box
vagrant box add Centos7 CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box
4.初始化Centos7
执行初始化后会在当前文件夹下生成一个文件Vagrantfile
vagrant init Centos7
修改配置文件如下
Vagrant.configure("2") do |config|
config.vm.box = "centos7" #box名称
config.vm.hostname = "CentOS7" #系统下的主机名
config.vm.synced_folder "D:/Vagrant-work", "/work" #共享目录
end
5.启动虚拟机
vagrant up
6.连接虚拟机
vagrant ssh
默认登陆的用户是vagrant。另外root用户的密码默认也是vagrant 。
7.安装vbguest插件
关闭虚拟机然后执行安装命令,安装完成后重新加载虚拟机,会看到VirtualBox Guest Additions installer正在安装。
vagrant plugin install vagrant-vbguest
vagrant reload
由于我们上面安装好了Guest Additions,需要修改vagrantfile配置文件,以免下次启动时重复安装Guest Additions,在配置文件最后一个end前添加两行命令
Vagrant.configure("2") do |config|
config.vm.box = "centos7" #box名称
config.vm.hostname = "CentOS7" #系统下的主机名
config.vm.synced_folder "D:/Vagrant-work", "/work" #共享目录
config.vbguest.auto_update = false #防止重新安装更新
config.vbguest.no_remote = true #不从远程web端下载
end
8.设置开机自动挂载
然后ssh连接到服务器。因为系统调用fstab的时候,Virtualbox的共享目录的模块还没有加载,所以我之前安装总是失败。最终的解决方案如下:在文件 /etc/rc.local 中(用root用户)追加如下命令
mount -t vboxsf sharing /mnt/share
9.重启虚拟机查看是否可以共享目录
重启可以看到Machine booted and ready! default: /work => D:/Vagrant-work
可以在共享目录work下面创建文件看看是否可以进行双向共享
10.vagrant常用命令
【查看当前已有的box】
vagrant box list
【添加一个box】
vagrant box add <boxname> <boxfile>
【删除一个box】
vagrant box remove <boxname>
【初始化配置vagrantfile】
vagrant init <boxname>
【启动虚拟机】
vagrant up
【登陆虚拟机】
vagrant ssh
【关闭虚拟机】
vagrant halt
【查看虚拟机状态】
vagrant status
【删除虚拟机】
vagrant destory