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镜像
当下我们下载最新的版本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,进入自己的用户名安装目录即可
将以上位置的C:\Program Files\Vagrant
和C:\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 # 当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包