Vagrant使用教程:创建CentOS 8虚拟机

目录

    • 简介
    • 准备工作
      • 下载
      • 配置Vagrant
      • 修改环境变量
      • 创建VAGRANT_HOME环境变量
      • 修改virturalBox新建虚拟机文件的默认生成路径
      • 修改Vagrant配置支持VirtualBox7.1.x版本
      • 创建Vagrant文件
      • 添加镜像
    • 初始化并开机
      • 初始化开发环境
      • 开机
    • 其他配置项
      • 宿主机的交换目录
      • 修改虚拟机内存
      • 修改 访问方式为 host-only
    • 常用命令

简介

Vagrant是一个用于创建和配置可复用虚拟开发环境的工具。它允许开发者使用简单的配置文件快速搭建一致的开发环境。
在本教程中,我们将学习如何使用Vagrant创建一个基于CentOS 8操作系统的虚拟机。

准备工作

下载

在开始之前,请确保您的计算机上已安装以下软件:
● Vagrant:可以从 Vagrant官网 下载安装。
● VirtualBox:可以从VirtualBox官网下载安装。
● VagrantCloud:可以从VagrantCloud官网下载CentOS 8的box镜像
Vagrant 2.4.1下载页面
当下时间我们下载最新的版本2.4.1,windows操作系统

VirtualBox下载页面
VirtualBox当下最新版本为7.1.4

vagrant boxes 下载页面
VagrantCloud中搜索centos/8 选择上图中红框的下载(这里提前下载好,由于国内的网络原因,建议这里你提前下载好,当然也可以寻找国内的其他稳定镜像也可以)

配置Vagrant

由于Vagrant不能自定义安装位置,默认安装位置在C:\Program Files\Vagrant,因此Vagrant的两个重要配置也默认位于C盘,我们要配置的就是这第三个位置。

  • 默认安装位置:C:\Program Files\Vagrant
  • 环境变量:C:\Program Files\Vagrant\bin
  • .vagrant.d:C:\Users\shuyangyang\vagrant.d

默认的安装位置区别可能就是用户名shuyangyang,进入自己的用户名安装目录即可

将以上2个文件复制到其他盘新建的文件夹中,复制完之后删除C盘中的文件夹(节省宝贵的C盘存储空间)
在这里插入图片描述

修改环境变量

如下图,配置好vagrant的环境变量。C:\Program Files\Vagrant\bin 复制后为 E:\vagrant\Vagrant\bin 配置新复制后的路径即可。
在这里插入图片描述

创建VAGRANT_HOME环境变量

变量名:VAGRANT_HOME
变量值:E:\vagrant\.vagrant.d
在这里插入图片描述

修改virturalBox新建虚拟机文件的默认生成路径

在这里插入图片描述
E:\VirtualBox 可以是自己在任意盘符创建一个文件夹即可,最好是英文名称的文件夹。
在这里插入图片描述

修改Vagrant配置支持VirtualBox7.1.x版本

修改Vagrant配置,不然后续启动虚拟机的时候,vagrant会报以下错误
在这里插入图片描述
首先打卡 E:\vagrant\Vagrant\embedded\gems\gems\vagrant-2.4.1\plugins\providers\virtualbox 文件夹。其实就是Vagrant的安装目录下的文件夹:
在这里插入图片描述
使用管理员权限(下面提到的文件都使用管理员权限,后续不再赘述)打开 plugin.rb 文件,增加下图中红框的一行代码,其实就是复制上面的一行,将7_0 改为 7_1

autoload :Version_7_1, File.expand_path("../driver/version_7_1", __FILE__)

在这里插入图片描述
继续进入driver文件夹中,编辑 meta.rb 文件。
在这里插入图片描述
复制一行代码改为7.1,如下图所示

"7.1" => Version_7_1,

在这里插入图片描述
复制version_7_0.rb文件改名为version_7_1.rb后修改
在这里插入图片描述

class Version_7_0 < Version_6_1

改为

class Version_7_1 < Version_6_1

在这里插入图片描述

创建Vagrant文件

1、打开终端(或命令提示符)
在这里插入图片描述

创建一个目录用来存放centos8的vagrant配置相关文件。注意:如果不创建此目录,创建虚拟机会报磁盘不足的问题。

添加镜像

vagrant box add centos/8 E:\vagrant-box\CentOS-8-Vagrant-8.3.2011-20201204.2.x86_64.vagrant-virtualbox.box

在这里插入图片描述

初始化并开机

初始化开发环境

vagrant init centos/8

开机

vagrant up

等个几分钟左右,就安装成功了。

在这里插入图片描述

成功之后可以输入一下命令可以连接进虚拟机:

vagrant ssh  

连接成功后会进入到虚拟机的 bash 中,并且会展示虚拟机的环境。
在这里插入图片描述

其他配置项

宿主机的交换目录

其中,vagrant 的 /vagrant目录是与宿主机的交换目录。可以很方便的实现在宿主机编码,在虚拟机运行。

修改虚拟机内存

登陆到虚拟机里面,默认的用户叫做 vagrant,可以用 whoami 查看一下。再查看一下内存,用 free -m 命令,发现默认内存大小还不到500M,所以敲 Ctrl-D 退出来。添加下面几行到 Vagrantfile 文件。

config.vm.provider "virtualbox" do |v|v.memory = 2048
end

在这里插入图片描述
执行

# 重启虚拟机
vagrant reload

重新加载配置即可。

修改 访问方式为 host-only

Vagrant 默认是使用端口映射方式将虚拟机的端口映射本地从而实现类似 http://localhost:80 这种访问方式,这种方式比较麻烦,新开和修改端口的时候都得编辑。相比较而言,host-only 模式显得方便多了。打开 Vagrantfile,将下面这行的注释去掉(移除 #)并保存:

config.vm.network :private_network, ip: “192.168.56.10”

重启虚拟机,这样我们就能用 192.168.56.10 访问这台机器了,你可以把 IP 改成其他地址,只要不产生冲突就行。

# 重启虚拟机
vagrant reload

常用命令

vagrant init  # 初始化
vagrant up  # 启动虚拟机
vagrant halt  # 关闭虚拟机
vagrant reload  # 重启虚拟机
vagrant ssh  # SSH 至虚拟机
vagrant status  # 查看虚拟机运行状态
vagrant destroy  # 销毁当前虚拟机
vagrant package  # 当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/462339.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Django Channels实现WebSocket实时通信

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Django Channels实现WebSocket实时通信 Django Channels 简介 环境搭建 安装 Django 和 Channels 创建 Django 项目 配置 A…

【JAVA 笔记】11 ch08_opp_intermediate 第8章 面向对象编程(中级部分)

第8章 面向对象编程(中级部分) IDEA 常用快捷键 包 包的三大作用 包基本语法 包的本质分析 包的命名 常用的包 如何引入包 注意事项和使用细节 访问修饰符 基本介绍 访问修饰符的访问范围! 使用的注意事项 面向对象编程三大特征 基本介绍 封装介绍 封装的理解和好处 封装的实现…

面试题:JVM(四)

new对象流程&#xff1f;&#xff08;龙湖地产&#xff09; 对象创建方法&#xff0c;对象的内存分配。&#xff08;360安全&#xff09; 1. 对象实例化 创建对象的方式有几种&#xff1f; 创建对象的步骤 指针碰撞&#xff1a;以指针为分界线&#xff0c;一边是已连续使用的…

无人机螺旋桨动平衡分析测试台

产品简介 Flight Stand系列动力测试台全部支持螺旋桨动平衡分析测试功能&#xff0c;用户仅需几个简单的操作步骤&#xff0c;轻松实现电机和螺旋桨ISO 21940-11:2016标准级的动平衡精度。 功能说明 测试台一体化集成有三坐标振动传感器和转速传感器&#xff0c;通过测量动力…

qt QTextEdit详解

QTextEdit是Qt框架中的一个文本编辑控件类&#xff0c;它提供了丰富的功能用于编辑和显示纯文本以及富文本。 重要方法 setPlainText(const QString &text)&#xff1a;设置纯文本内容。toPlainText()&#xff1a;获取纯文本内容。setHtml(const QString &text)&#…

杂项——USB键盘与鼠标流量分析——BUUCTF——流量分析

第一次做USB键盘与鼠标流量分析的题目&#xff0c;现在来好好做一个总结 1. 基础知识 USB流量指的是USB设备接口的流量&#xff0c;攻击者能够通过监听usb接口流量获取键盘敲击键、鼠标移动与点击、存储设备的铭文传输通信、USB无线网卡网络传输内容等等。 在正式介绍 USB H…

Windows部署rabbitmq

本次安装环境&#xff1a; 系统&#xff1a;Windows 11 软件建议版本&#xff1a; erlang OPT 26.0.2rabbitmq 3.12.4 一、下载 1.1 下载erlang 官网下载地址&#xff1a; 1.2 下载rabbitmq 官网下载地址&#xff1a; 建议使用解压版&#xff0c;安装版可能会在安装软件…

HTML静态网页成品作业(HTML+CSS)——自行车介绍网页设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码CSS部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品…

工厂电气及PLC【1章各种元件符号】

交流接触器的线圈通电后&#xff0c;线圈电流会产生磁场&#xff0c;衔铁在磁吸引力作用下带动触点动作&#xff1a;常开的主触点闭合&#xff0c;接通主电路&#xff1b;同时&#xff0c;常开的辅助触点闭合&#xff0c;常闭的辅助触点断开。当线圈失电或电压显著降低时&#…

使用GraphQL构建现代API

使用GraphQL构建现代API GraphQL简介 安装GraphQL 使用npm安装GraphQL 使用Yarn安装GraphQL 创建GraphQL服务器 定义Schema 编写Resolver 查询数据 变更数据 使用Apollo Client GraphQL订阅 数据验证 错误处理 分页查询 拆分和组合Schema 总结 随着API的发展&#xff0c;传统…

用Python设置、更新和获取Excel单元格的值

Excel工作簿作为一款广泛使用的数据管理工具&#xff0c;与Python相结合&#xff0c;可以使得自动化处理大量数据成为可能。通过Python来设置、更新以及读取Excel单元格的值&#xff0c;不仅可以极大地提高工作效率&#xff0c;减少重复劳动&#xff0c;还能增强数据处理流程的…

利用ChatGPT完成2024年MathorCup大数据挑战赛-赛道A初赛:台风预测与分析

利用ChatGPT完成2024年MathorCup大数据挑战赛-赛道A初赛&#xff1a;台风预测与分析 引言 在2024年MathorCup大数据挑战赛中&#xff0c;赛道A聚焦于气象数据分析&#xff0c;特别是台风的生成、路径预测、和降水风速特性等内容。本次比赛的任务主要是建立一个分类评价模型&…

Logback 常用配置详解

1. 配置文件解析 Logback 是 Spring Boot 默认使用的日志框架&#xff0c;Logback 配置主要包含 8 大元素 1.1 configuration Logback 配置文件的根元素&#xff0c;它包含所有的配置信息 1.2 appender 定义一个 Appender&#xff0c;即日志输出的目的地&#xff0c;如控制…

造纸行业湿法粉碎机、高速破碎机、粉碎磨粉机

细胞磨在造纸行业的应用主要体现在以下几个方面&#xff1a; 1.原料处理 细碎与研磨&#xff1a;造纸行业的原料&#xff0c;如木材、竹材等&#xff0c;需要经过细碎和研磨处理以获取适合造纸的纤维。细胞磨能够高效地实现这一过程&#xff0c;将原料细化至所需的粒度&#…

JAVA基础:jdbc (学习笔记)

基础操作 任何一种jdbc操作&#xff0c;都是由7步完成的 手动加载数据库驱动类{反射}获得连接对象写sql语句获得执行对象执行sql语句&#xff0c;同时获得结果处理结果关闭资源 功能一&#xff1a;添加表里的数据 public static void main4(String[] args) throws ClassNotF…

RabbitMQ最全教程-Part1(基础使用)

一、消息队列基本概念 消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用解耦&#xff0c;异步消息&#xff0c;流量削锋等问题&#xff0c;实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构 1、消息队列的特点 可靠性 消息持久化&#xff…

英伟达 GPU 架构:演进与模型推理速度的深度关联

英伟达的 GPU 架构演进之路充满了创新与突破。 ©作者|Zane 来源|神州问学 一、 英伟达GPU的架构演进之路 1999 年&#xff0c;英伟达发布 Geforce256 图形处理芯片&#xff0c;首次提出 GPU 概念。早期的架构如 G80 或 GeForce 8800 GTX&#xff0c;包含 8 个 TPC&#…

Yolo V4详解

Yolo V4&#xff08;You Only Look Once version 4&#xff09;是一种先进的目标检测系统&#xff0c;于2020年推出。作为Yolo系列算法的最新版本&#xff0c;Yolo V4继承了其前代版本的优点&#xff0c;并在此基础上进行了多项改进&#xff0c;使得其性能得到了显著提升。本文…

实体类中为什么要实现serializable接口

最近见到好多项目中写的代码&#xff0c;在实体类中实现了Serializable接口。说实话&#xff1a;这个在以前学习的时候&#xff0c;貌似学过&#xff0c;但是一直没有用过&#xff0c;所以看着一脸懵逼&#xff0c;但是别人总不可能随便写的吧.....所以就去查了一下这个接口。 …

D55【python 接口自动化学习】- python基础之模块与标准库

day55 练习&#xff1a;实现求导 学习日期&#xff1a;20241101 学习目标&#xff1a;模块与标准库 -- 70 小试牛刀&#xff1a;如何使用Python为函数求导&#xff1f; 学习笔记&#xff1a; 需求分析 使用第三方模块实现函数求导 编写程序并测试 # 求导 from sympy import…