目录
简介
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 # 当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包