VirtualBox+Vagrant环境搭建

2024-03-10 22:58

本文主要是介绍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。

这篇关于VirtualBox+Vagrant环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795800

相关文章

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推