当前位置: 首页 > news >正文

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,进入自己的用户名安装目录即可

将以上位置的C:\Program Files\VagrantC:\Users\shuyangyang\vagrant.d 2个文件夹复制到其他盘新建的文件夹中(这里我是E盘下创建了一个新的文件夹vagrant),复制完之后删除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会同步当前文件夹里面的所有内容到虚拟机中

添加镜像

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

等个几分钟左右,就安装成功了。(如果等了好久,那就是有问题了,请查看本章前面的内容是否都已经准备并配置好)

在这里插入图片描述

成功之后可以输入以下命令通过ssh连接虚拟机:

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.mrgr.cn/news/65944.html

相关文章:

  • 学习笔记:微服务技术栈(一)服务治理框架SpringCloud
  • Zabbix监控架构
  • Java实现图片转pdf
  • VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)
  • 哔哩哔哩车机版2.7.0|专为司机打造的车机版B站,内容丰富,功能齐全
  • 蒙特卡洛方法(MC Exploring Starts算法例子)
  • Ubuntu20.04两种安装及配置中文界面、输入法、换源、共享文件夹实现,及注意事项
  • 从0到1!手把手教你私域流量变现的5个必备技能
  • 使用实例讲解RTOS的内核结构、任务调动、资源管理、中断处理
  • 把握数字化新趋势,迎接生态架构新时代——The Open Group 2024生态系统架构·可持续发展年度大会参会指南
  • sql中判断一个字段是否包含一个数据的方法
  • 【从零开始的LeetCode-算法】3289. 数字小镇中的捣蛋鬼
  • 影视会员充值接口对接过程中都需要注意些什么?
  • 系统安全架构
  • Ghidra无头模式(自动化批处理执行重复性任务)
  • Template Method(模板方法)
  • (八)关于InternVL2的优化加速——如何提高三倍的推理速度
  • 基于SpringBoot的母婴商城的设计与实现
  • 面试“利器“——微学时光
  • MySQL45讲 第十一讲 怎么给字符串字段加索引?
  • 责任链模式 Chain of Responsibility
  • 【指南】这款安全数据交换系统 架构全面创新优化
  • 分类算法——逻辑回归 详解
  • github.com port 22
  • Spring:Bean(创建方式,抽象继承,工厂Bean,生命周期)
  • H5开发指南|掌握核心技术,玩转私域营销利器