VirtualBox+Vagrant环境搭建

我们刚开始入门的时候使用的集成的wamp来开发我们的PHP程序,在window下,虽然说可以搭建各种开发环境,但是有时候和Linux的生产环境还是不太一样,最佳的还是linux平台。于是我们虚拟机,我们使用开源的VirtualBox作为虚拟化支持,另外对于团队来说,每个人的开发环境要保持一致,利用Vagrant来解决开发环境保持一致,配置大大简化,轻松跨平台。

1.VirtualBox虚拟机

VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件。在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

在VirtualBox网站下载主机操作系统对应的二进制文件。VirtualBox可以安装在32位和64位操作系统上。在32位主机操作系统上运行64位的虚拟机是可以的,但必须在主机的BIOS中启用硬件虚拟化特性。

官网下载https://www.virtualbox.org/wiki/Downloads

window下安装VirtualBox6.0.8

如果想下载往期的版本https://www.virtualbox.org/wiki/Download_Old_Builds

双击exe文件运行二进制安装文件将开启一个简单的安装向导,允许用户定制VirtualBox特性,选择任意快捷方式并指定安装目录。

2.安装Vagrant

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,由HashiCorp公司开发的工具。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。Vagrant 有着易于使用的工作流,并且专注于自动化,降低了开发者搭建环境的时间,提高了生产力。解决了“在我的机器上可以工作”的问题。

官网下载https://www.vagrantup.com/downloads.html

双击msi文件,我本次下载的是vagrant_2.2.4_x86_64的版本。选择安装位置,进行下一步安装。安装完毕后需要重启系统。

之后就可以打开终端cmd使用vagrant 。

3.下载Box

Vagrant官网下载一个package.box 文件,它有点类似于我们之前安装虚拟机时候需要下载ISO镜像来装系统,这里的话就是Vagrant开源社区已经提供许多打包好的操作系统,我们称之为Box,你可以直接下载,也可以自己制作。省去我们自己下载镜像,配置安装系统初始化的过程。

官网下载https://app.vagrantup.com/boxes/search 或者在仓库下载http://www.vagrantbox.es/

我这里下载一个Centos7的版本

https://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box

4.添加box

Box其实是一个压缩包,里面包含了 Vagrant 的配置信息和 VirtualBox 的虚拟机镜像文件。vagrant up 启动虚拟机是基于 box 文件的,因此在启动虚拟机前必须得把 box 文件准备好。

创建一个工作目录,添加box,把下载好的box文件放在目录下面。

vagrant box add Centos7 CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box
[添加box命令]
vagrant box add 起一个名字  使用box的文件位置

5.初始化box

[查看有哪些box]
vagrant box list 
[初始化box]
vagrant init Centos7

6.启动虚拟机

[启动虚拟机box]
vagrant up

7.连接虚拟机

[连接box虚拟机]
vagrant ssh

默认root用户密码是vagrant

8.修改配置文件

Vagrantfile文件

这个文件是非常重要,包括虚拟机配置,ssh配置,Vagrant的一些基础配置。Vagrant是用Ruby开发的,所以它配置文件的语法也是Ruby。配置文件只要有改动就需要执行 vagrant reload 载入配置。重新启动虚拟机,重新载入配置文件。

9.打包虚拟机

[关闭虚拟机]
vagrant halt
[打包box]
vagrant package --output Centos7.box

使用 package 选项将虚拟机打包.

[报错]

如果有问题可以参考下面的一些错误解决方法,仅供参考。

1.没有共享目录怎么办

报错:No guest additions were detected on the base box for this VM! Guest additions are required for forwarded ports . shared folders ,host only networking and more.

缺少Virtualbox Guest Additions。手动安装vagrant-vbguest插件来完成这个功能。 

2.但是我后来重启一下又报错了

[default] GuestAdditions seems to be installed (6.0.8) correctly, but not running.

实际上这个GuestAdditions扩展默认的VirtualBox是不安装的,这就会导致VirutalBox软件中只能小窗口访问,另外不能和宿主操作系统共享文件。所以我们必须要安装这个功能。

进入到VirtualBox的官网下载VBoxGuestAdditions镜像文件

http://download.virtualbox.org/virtualbox/6.0.8/

然后利用root进入系统后,创建一个/mnt/cdrom文件夹,将光驱挂载上面利用mount命令。

然后可以进入/mnt/cdrom/可以看到镜像里面内容。

提示安装成功,重启生效。 Running kernel modules will not be replaced until the system is restarted

3.卸载后重装 VirtualBox

最后怎么都弄不好我又重装了virtualbox最后终于可以共享目录了。

 

[注意]

1.安装过程 先安装VirtualBox 后安装Vagrant。

2.安装Virtualbox时右击属性兼容模式调成win7,以管理员身份运行exe文件进行安装,安装的时候不要选择c盘。

3.安装vagrant-vbguest插件。

4.我这里装的Centos7的系统,默认登陆是普通用户vagrant,另外root用户密码为vagrant。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值