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

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中