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

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads