目录
使用vagran快速创建linux虚拟机
一、下载安装virtualbox7.0.8
virtualbox官网下载地址
virtualbox旧版下载地址
二、下载windows版的vagrant2.3.7
版本2.3前下载是x84_64选项的,版本2.3后下载是amd64选项的,都一样的
安装完后点击yes重启电脑
重启后,命令行输入vagrant判断vagrant是否安装成功
三、创建linux
准备工作
1.先设置vagrant存放box的位置
vagrant默认会把从cloud下载的box解压后放在 ~ 的 .vagrant.d 文件夹下,存放多了,C盘就爆啦
设置环境变量
VAGRANT_HOME=D:\.vagrant.d
2.修改vb默认存放虚拟机的位置,在vb里修改,默认存放在 ~ /VirtualBox VMs文件夹下
这里以创建centos7为例
先访问vagrant官方镜像仓库,找到自己想要下载的linux系统
-
初始化
命令行所在目录下会生成Vagrantfile文件
-
利用vagrant自动向virtualbox导入centos7
vagrant up
执行该命令会在当前目录下生成 .vagrant 文件
这一步很慢,可以参考下面加快下载速度
这一步如果出错,可以参考下面的解决办法
生成的虚拟机默认的名字是当前文件夹名_default_xxxxxxxxxx
-
连接虚拟机
vagrant ssh
注意:执行vagrant up
和vagrant ssh
命令都需要当前目录下有Vagrantfile文件
若目录下没有该文件则提示:
遇到的问题
1.下载太慢
方法一:完全独立于vagrant这个软件,只需要使用vb
不推荐!!!因为后续如果要修改虚拟机的ip可能修改起来会比较麻烦!
可以到vagrant cloud下载指定版本的虚拟机的box文件,下载后再解压导入virtualbox即可
例如,这里我下载以virtualbox为provider的虚拟机

解压后的ovf文件即可导入virtualbox
默认账号密码都是vagrant
这样等于没用到vagrant这个软件,所以不下载vagrant,直接在vagrant cloud下载指定虚拟机的box文件解压再导入virtualbox也可以
方法二:先下载好box文件后,再使用vagrant box add 命令添加box文件到vagrant
vagrant会将box文件解压放在我们刚才指定的文件夹下
方法三:使用中科大的镜像 推荐!!!
vagrant init centos7 http://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box
vagrant up
vagrant ssh
这种方法有个缺点是你需要自己上中科大镜像网自己找所需要linux的box文件,找不找得到还说不定!这里的centos比较好找,但是ubuntu等其他系统就比较难找;优点是下载速度快!
如不想经过vagrant,也可以从中科大镜像网下载文件后参照方法一
2.虚拟机启动失败
一启动就报错
在命令行用vagrant up启动表现为:

在virtualbox里面启动表现为:
解决方法
修改注册表:注册表定位到
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VBoxDrv
,
修改start的数值为2
先看看注册表里有什么,如果有VBoxDrv
就修改这个,如果没有就修改VBoxSup
高版本的virtualbox修改Services\VBoxSup
里的start为2;低版本的virtualbox修改Services\VBoxDrv
里的start为2
修改完后重启电脑,使注册表生效,再次启动虚拟机,问题得到解决

修改虚拟机的参数
打开VagrantFile,添加在最后面
config.vm.provider "virtualbox" do |v|
# 修改虚拟机内存
v.memory = 1024
# 修改虚拟机cpu个数
v.cpus = 2
# 修改虚拟机名称
v.name = "centos 7"
end
vagrant reload
修改虚拟机的IP地址
查看虚拟机的IP地址
windows是ping不同这个IP地址的
怎么修改:
打开控制面板,点击查看网络状态和任务
点击更改适配器设置
来到网络连接,可以看到有一个是VirtualBox Host-Only的,双击,点击详细信息
这里ipv4地址为192.168.56.1,所以虚拟机设置为192.168.56.xx,xx多少都可以
修改方法:
找到虚拟机对应的Vagrantfile文件,编辑,添加这一行
config.vm.network "private_network", ip: "192.168.56.10"
添加完后重新加载虚拟机
vagrant reload
vagrant ssh
ip addr
修改成功
设置为允许使用账号密码登录
vagrant ssh 进入系统后
vi /etc/ssh/sshd_config
修改 PasswordAuthentication yes
重启服务
service sshd restart