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

目录

简介

Vagrant是一个用于创建和配置可复用虚拟开发环境的工具。它允许开发者使用简单的配置文件快速搭建一致的开发环境。

在本教程中,我们将学习如何使用Vagrant创建一个基于CentOS 8操作系统的虚拟机。

准备工作

下载

在开始之前,请确保您的计算机上已安装以下软件:

● Vagrant:可以从 Vagrant官网 下载安装。

● VirtualBox:可以从VirtualBox官网下载安装。

● VagrantCloud:可以从VagrantCloud官网下载CentOS 8的box镜像

当下时间我们下载最新的版本2.4.1,windows操作系统

VirtualBox当下最新版本为7.1.4

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

bash 复制代码
autoload :Version_7_1, File.expand_path("../driver/version_7_1", __FILE__)

继续进入driver文件夹中,编辑 meta.rb 文件。

复制一行代码改为7.1,如下图所示

bash 复制代码
"7.1" => Version_7_1,

复制version_7_0.rb文件改名为version_7_1.rb后修改

bash 复制代码
class Version_7_0 < Version_6_1

改为

bash 复制代码
class Version_7_1 < Version_6_1

创建Vagrant文件

1、打开终端(或命令提示符)

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

添加镜像

bash 复制代码
vagrant box add centos/8 E:\vagrant-box\CentOS-8-Vagrant-8.3.2011-20201204.2.x86_64.vagrant-virtualbox.box

初始化并开机

初始化开发环境

bash 复制代码
vagrant init centos/8

开机

bash 复制代码
vagrant up

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

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

bash 复制代码
vagrant ssh  

连接成功后会进入到虚拟机的 bash 中,并且会展示虚拟机的环境。

其他配置项

宿主机的交换目录

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

修改虚拟机内存

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

bash 复制代码
config.vm.provider "virtualbox" do |v|
  v.memory = 2048
end

执行

bash 复制代码
# 重启虚拟机
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 改成其他地址,只要不产生冲突就行。

bash 复制代码
# 重启虚拟机
vagrant reload

常用命令

bash 复制代码
vagrant init  # 初始化
vagrant up  # 启动虚拟机
vagrant halt  # 关闭虚拟机
vagrant reload  # 重启虚拟机
vagrant ssh  # SSH 至虚拟机
vagrant status  # 查看虚拟机运行状态
vagrant destroy  # 销毁当前虚拟机
vagrant package  # 当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包
相关推荐
运维自动化&云计算20 小时前
Centos虚拟机硬盘报错,根分区满,已用显示为负40G
linux·运维·centos
TLucas2 天前
在CentOS 7上将PostgreSQL数据库从默认路径迁移到自定义目录
linux·运维·postgresql·centos
大明湖畔的小鳄鱼3 天前
docker安装centos
docker·容器·centos
杰哥技术分享3 天前
Centos-mssql-server安装
linux·sqlserver·centos
梅孔立3 天前
linux 秒 安装谷歌浏览器 区分ubuntu和centos 给python爬取网站使用
linux·ubuntu·centos
纯洁的小魔鬼3 天前
Centos 用户管理
运维·centos·用户
菜菜子爱学习4 天前
Nginx学习笔记(二)——环境准备(VMware CentOS版)
笔记·学习·nginx·centos·运维开发
CMCST4 天前
CentOS 7.9 升级 GLibc 2.34
linux·运维·centos
懒散猴4 天前
【无标题】centos 配置阿里云的yum源
linux·阿里云·centos
skywalk81634 天前
vagrant和itamae怎么配合使用? (放弃)
运维·前端·ruby·vagrant