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.xdnf.cn/news/2831.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024/11/4 数据结构大题打卡

邻接矩阵定义&#xff1a; typedef struct{char vex[N];int weight[N][N];int vexnum,arcnum; }MGraph; 邻接链表定义&#xff1a; #difine N 8typedef struct ArcNode{int vexIndex;int weight;struct ArcNode *next; }ArcNode; typedef struct VNode{char data;ArcNode *…

能详细的说明单片机的原理及其设计方法吗?如何快速的学会单片机这门技术?

单片机&#xff08;Microcontroller Unit&#xff0c;简称 MCU&#xff09;是一种将中央处理器&#xff08;CPU&#xff09;、存储器、输入输出接口等集成在一块芯片上的微型计算机系统。 **单片机的工作原理**&#xff1a; 单片机通过内部的时钟信号来同步各个部件的工作。程…

第一篇 硬件篇1[学习-来自 正点原子]

在电路设计中&#xff0c;TVS&#xff08;瞬态电压抑制器&#xff09;是一种有效的保护元件&#xff0c;可以用来防止瞬时过电压对芯片和其他敏感器件造成损坏。 STM32F103RCT6作为MCU 一键下载电路的具体实现过程&#xff1a; 首先&#xff0c; mcuisp控制 DTR输出低电平&…

最基础版编译运行Java(纯小白)

流程图&#xff1a; ⚠ 需要先安装JDK (Java Development Kit) 1. 写文件 首先写好自己的“文件”&#xff0c;可以用Sublime Text等文本编辑器写&#xff0c;还可以直接新建文本文档写一个.txt文件。 以编写一个HelloWorld程序为例&#xff1a; public class HelloWorld{p…

k8s 上如何跑 Dolphins 模型

接着上一篇的介绍&#xff0c;这一篇就来跑跑 Dolphins 模型&#xff0c;本篇会记录&#xff0c;跑模型常见的阬点。 1 在 k8s 上创建 pod 将外部数据挂载在 pod 里&#xff0c;并申请 gpu 资源。同时修改代码里对应的引入数据的路径 # dolphins.yaml apiVersion: v1 kind: …

大数据-206 数据挖掘 机器学习理论 - 多元线性回归 回归算法实现 算法评估指标

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

【Effective C++】阅读笔记4

1. 确保公有继承中有is-a的关系 Is-a关系理解 该关系就是派生类应该具备基类的所有特性&#xff0c;并且可以替代基类对象使用&#xff0c;例如猫和狗都是动物的派生类&#xff0c;因为猫和狗都和动物形成了is-a关系&#xff0c;猫和狗都是动物。 在该关系下&#xff0c;派生类…

嵌入式实验2--数码管显示(基础+进阶)

一、数码管显示 0.想实现效果&#xff1a; 数码管交替或同时显示数字 1.电路设计 使用proteus 设计电路 1.1 STM32最小系统 搭建STM32工作基础条件 1.2 数码管电路 1.2.1 数码管 a.共阴极 abg dp都是led灯&#xff0c;这些led灯的公共端接地&#xff0c;就是共阴极&…

【LeetCode:633. 平方数之和 + 双指针】

在这里插入代码片 &#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕…

SpringCloud-Eureka注册中心

假如我们的服务提供者user-service部署了多个实例&#xff0c;如图&#xff1a; 大家思考几个问题&#xff1a; order-service在发起远程调用的时候&#xff0c;该如何得知user-service实例的ip地址和端口&#xff1f;有多个user-service实例地址&#xff0c;order-service调用…

5. 推导仿真

5.1 DCDC电源(以buck电路为例)相关公式推导计算-电感 (1)计算电感的饱和电流和 电感的感值 三角号I:纹波电流 饱和电流:有条件

MySQL rand()函数、rand(n)、生成不重复随机数

文章目录 一、rand()与rand(n)二、rand()使用示例2.1、rand()与order by/group by使用随机排序分组2.2、round()与rand()的组合使用2.3、rand与ceiling的组合使用2.4、rand与floor组合使用2.5、rand与md5组合使用 三、总结3.1、rand()与rand(n)的区别 有时候我们想要生成一个唯…

告别局域网限制!轻松远程访问本地Paperless-ngx文档管理系统远程办公

前言&#xff1a;本文主要介绍如何在Linux系统本地Docker部署Paperless-ngx开源文档管理系统&#xff0c;并结合cpolar内网穿透工具解决本地部署后因为没有公网IP受到局域网访问限制&#xff0c;在异地也能随时远程访问的困扰。 Paperless-ngx是一个开源的文档管理系统&#x…

koa项目实战 == 实现注册登录鉴权

一. 项目的初始化 1 npm 初始化 npm init -y生成package.json文件: 记录项目的依赖 2 git 初始化 git init生成’.git’隐藏文件夹, git 的本地仓库 3 创建 ReadMe 文件 二. 搭建项目 1 安装 Koa 框架 npm install koa2 编写最基本的 app 创建src/main.js const Koa…

中烟创新:以AI审核平台助力烟草行业高效发展

企业对于高效、准确且标准化的文档审核流程需求日益迫切。传统的人工审核方式&#xff0c;不仅耗时费力&#xff0c;而且易受个人主观因素影响&#xff0c;导致审核标准难以统一&#xff0c;影响了工作效率与审核质量。北京中烟创新科技有限公司&#xff08;简称&#xff1a;“…

SpringBoot框架:作业管理技术新解

4 系统设计 4.1系统概要设计 作业管理系统并没有使用C/S结构&#xff0c;而是基于网络浏览器的方式去访问服务器&#xff0c;进而获取需要的数据信息&#xff0c;这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构&#xff0c…

Chrome 插件怎么安装与下载?超详细

原文链接&#xff1a; https://www.chajianxw.com/tutorial/how-to-install-chrome-plugin.html 前言 国内因为无法访问 Chrome 应用商店的缘故&#xff0c;导致很多优秀的扩展程序无法正常下载与安装。本文将手把手教你如何通过离线安装Chrome 插件&#xff0c;全文图文讲解…

实现图书管理系统

1. 图书管理系统菜单 如上图给用户选项 1. 管理员 2. 普通用户 2. 实现基本框架 右键点src&#xff0c;选择new&#xff0c;选择Package命名三个包 book operation user 1.先选择book包&#xff0c;new两个类 book bookList 在book类中定义书的基本属性&#xff0c;并重写…

黑马官网最新2024前端就业课V8.5笔记---CSS篇(1)

Css 定义 层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言,用来描述 HTML 文档的呈现(美化内容) Css 引入方式 内部样式表&#xff1a; CSS 代码写在 style 标签里面 外部样式表: 开发使用 CSS 代码写在单独的 CSS 文件中(.css) 在 HTML 使用 link …

下载pytorch报错:没有发现某个版本

报错如下&#xff1a; 解决&#xff1a; 降级python版本&#xff0c;显卡小于等于 11.3 时&#xff0c;下载pytorch gpu时&#xff0c;python版本选择&#xff1a;3.7即可。