vagrant和virtualbox
一,
VirtualBox 是一款开源的虚拟机软件,和VMWare是同类型的软件,用于在当前的电脑上构建一台虚拟机,在这台虚拟机上可以安装系统和软件。
Vagrant用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统。
二,为什么需要vagrant:
1),面临的一个大问题是,环境不同意,最常见的就是:在我机器上没问题,怎么在你这就不能跑了。可能配置不一样,或者缺少某个依赖。多人合作或者跨平台开发很可能遇到这些问题。
2),那么有没有办法统一开发环境呢?vagrant就是做这个的,配置好了开发环境,打包到一个.box 文件(或者直接使用别人打包好到.box文件),这就是一个虚拟机,下次换环境的时候,直接使用这个虚拟机开发就可以了。这就是vagrant的方便之处。所以vagrant 依赖于virtualbox 或者 vmware等虚拟机软件。
3),用vagrant管理的时候,还可以把对应的配置share给测试,这样别人帮你做测试的时候就能省掉很多环境搭建的工作,而且不用担心测试环境跟你开发环境有差别。
4),
virtualBox(本身也可以创建虚拟机,只是相对麻烦)会开放一个创建虚拟机的接口,Vagrant会利用这个接口创建虚拟机,并且通过Vagrant来管理,配置和自动安装虚拟机。
三,vagrant简单命令
执行命令:vagrant ssh ,就会通过ssh连接至刚刚我们所创建的虚拟机(没人愿意通过cmd操作linux)
如果需要退出当前连接,执行命令:exit,将会回到本地目录
查看虚拟机状态,在本地目录里执行命令:vagrant status
停掉虚拟机,执行命令:vagrant halt
开启虚拟机,执行命令:vagrant up
删除虚拟机:vagrant destroy
查看目前已有的box:vagrant box list
新增加一个box:vagrant box add
删除指定box:vagrant box remove
重启虚拟机:vagrant reload
四,如何启动vagrant(这里默认已经安装了vbox和vagrant)
0,查看目前已有的box
vagrant box list
1,进入创建的根目录(前提是已经安装了vbox,vagrant,下载好了centos7.2的镜像)
cd D:\vagrant\centos7.2
2, 导入下载的镜像(box文件)
vagrant box add centos7.2 D:\soft_download\vagrant-centos-7.2.box
3,初始化box
vagrant init
此时,在 D:\vagrant\centos7.2 会自动生成Vagrantfile文件,修改文件中的box名称
config.vm.box = "centos7.2"
4,启动box
D:\vagrant\centos7.2>vagrant up
启动成功后,打开virtualBox,你会看到vagrant已经为我们搭建好了一个正在运行的centos7.2系统了
5,
进入 Vagrantfile 所在的目录
D:
D:\vagrant\centos7.2>vagrant ssh
可以登录虚拟机, 在window的黑框框里操作linux
总结:
vagrant的搭建完毕,过程极其简单,虚拟机的网络通了,与物理主机也能共享目录,而且还能进行端口转发,这些功能如果是自己手把手在virtualBox搭建,要耗费不少时间。vagrant解放了我们的时间,但vagrant的功能肯定不只是这么简单。同时它也有一个很大的问题,默认情况下,由它生成的虚拟机系统磁盘容量只有8G,这是设计者出于对这个工具的应用场景而设定的。