Vagrant环境搭建及基本使用

本文详述了如何安装和配置Vagrant与VirtualBox,包括下载软件、设置虚拟机存放位置、添加虚拟机镜像以及进行Vagrant的基本操作。通过Vagrant创建和管理虚拟机,实现快速部署和开发环境的标准化。
摘要由CSDN通过智能技术生成

一、安装软件

安装Vanrant
在 Vagant 网站下载最新的版本,根据自己的操作系统选择对应的版本下载即可。

注意,Vagrant 是没有图形界面的,所以安装完成后也没有桌面快捷方式。具体使用方法,接下来会详细说明。

Vagrant 的安装程序会自动把安装路径加入到 PATH 环境变量,所以,这时候可以通过命令行执行 vagrant -v 检查是否安装成功:

C:\Users\Jonas\Desktop>vagrant -v
Vagrant 2.2.14

安装 VirtualBox
进入 VirtualBox 的主页,点击大大的下载按钮,即可进入下载页面。
在这里插入图片描述

VirtualBox 是一个跨平台的虚拟化工具,支持多个操作系统,根据自己的情况选择对应的版本下载即可。

注意,除了主程序,还要把对应的扩展包程序也一并下载了。有些高级特性,比如 USB 3.0 等需要扩展包的支持。在这里插入图片描述
在安装完主程序后,直接双击扩展包文件即可安装扩展包。

二、配置虚机存放位置以及配置博box环境

创建虚拟机会占用较多的磁盘空间,在 Windows 系统下默认的虚机创建位置是在 C 盘,所以最好配置到其它地方。

1.配置 VirtualBox

启动 VirtualBox 后,通过菜单 管理 -> 全局设定,在全局设定对话框中,修改 默认虚拟电脑位置,指定一个容量较大的磁盘。在这里插入图片描述

2.配置 Vagrant

通过 Vagrant 创建虚机需要先导入镜像文件,也就是 box,它们默认存储的位置在用户目录下的 .vagrant.d 目录下,对于 Windows 系统来说,就是 C:\Users\用户名\.vagrant.d

如果后续可能会用到较多镜像,或者你的 C 盘空间比较紧缺,可以通过设置环境变量 VAGRANT_HOME来设置该目录。

在 Windows 系统中,可以这样操作:新建系统环境变量,环境变量名为 VAGRANT_HOME,变量值为 G:\VirtualBox\.vagrant.d
在这里插入图片描述

3.下载虚机镜像

使用 Vagrant 创建虚机时,需要指定一个镜像,也就是 box
我们可以通过vagrant box list来查看自己电脑中是否有box

C:\Users\Jonas>vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.

开始这个 box 不存在,所以 Vagrant 会先从网上下载,然后缓存在本地目录中。

Vagrant 有一个镜像网站,里面列出了都有哪些镜像可以用,并且提供了操作文档。
但是这里默认下载往往会比较慢,如果网速较好,还是可以选择的
这种方法可以直接搜索我们需要的版本,我需要Ubuntu18.04和Ubuntu20.04
在这里插入图片描述

如果下载较慢,可以选择国内镜像
下面我给出最常用的两个 Linux 操作系统镜像的下载地址:
CentOS

CentOS 的镜像下载网站是: http://cloud.centos.org/centos/

在其中选择自己想要下载的版本,列表中有一个 vagrant 目录,里面是专门为 vagrant 构建的镜像。选择其中的 .box 后缀的文件下载即可。这里可以使用下载工具,以较快的速度下载下来。

这里我们选择下载的是centos7.3 在这里插入图片描述

Ubuntu

Ubuntu 的镜像下载网站是: http://cloud-images.ubuntu.com/

同样先选择想要的版本,然后选择针对 vagrant 的 .box 文件即可。

如果这里官网的速度较慢,还可以从 清华大学的镜像站 下载。

下面的例子以 CentOS 7.3 为例,使用其它版本操作系统的也可以参考。

4.添加 box

接下来我们需要将下载后的 .box 文件添加到 vagrant 中。

Vagrant 没有 GUI,只能从命令行访问,先启动一个命令行,然后执行:

$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.

提示现在还没有 box。如果这是第一次运行,此时VAGRANT_HOME目录下会自动生成若干的文件和文件夹,其中有一个 boxes 文件夹,这就是要存放 box 文件的地方。

执行 vagrant box add 命令添加 box:

$ vagrant box add e:\Downloads\CentOS-7.box --name centos-7
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos-7' (v0) for provider:
    box: Unpacking necessary files from: file:///e:/Downloads/CentOS-7.box
    box:
==> box: Successfully added box 'centos-7' (v0) for 'virtualbox'!

命令后面跟着的是下载的文件路径,并且通过 --name centos-7 为这个 box 指定一个名字。

后面创建虚机都需要指定这个名字,所以尽量把名字取得简短一点,同时也要能标识出这个镜像的信息(我们后面会定制自己的基础镜像,所以这里可以简单点)。

再次查询,可以看到有了一个 box:

$ vagrant box list
centos-7 (virtualbox, 0)

三、Vagrant 基本操作

1.新建虚机

创建一个目录,先执行 vagrant init:

$ mkdir Vagrantfile
$ cd Vagrantfile
$ vagrant init centos-7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

其中的 centos-7就是我们要使用的 box 名字。

这个命令只是为我们生成一个Vagrantfile,所以,这里的名字没指定或者写错了都没关系,后面会介绍如何编辑这个 Vagrantfile来修改。

注意: vagrant init在哪个文件初始化生成Vagrantfile,以后所有的 vagrant 命令都需要进入到Vagrantfile 所在的目录下执行!!这很重要

2.启动虚机

我们等会再来细看这个文件,现在直接按照提示执行 vagrant up:

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos-7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: demo_default_1588406874156_65036
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

3.查看虚机状态

vagrant up之后,可以通过vagrant status查看是否启动

G:\box\vagrantfile>vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

4.连接虚机

到这里一切都没问题的话,就可以进行连接虚机了
接下来执行 vagrant ssh 就能以 vagrant 用户直接登入虚机中。
root 用户没有默认密码,也不能直接登录。需要 root 权限的命令可以通过在命令前添加 sudo 来执行,也可以执行 sudo -i 直接切换到 root 用户。

G:\box\vagrantfile>vagrant ssh
Last login: Thu Jan 21 08:24:30 2021
Last login: Thu Jan 21 08:24:30 2021
[vagrant@localhost ~]$   

这时候打开 VirtualBox 程序,也可以看到自动创建的虚机:
在这里插入图片描述
我们也可以在 VirtualBox 的终端上登录系统,默认的登录用户名和密码都是 vagrant。
在这里插入图片描述
此时可以在命令行下操作这个虚机了!!

四、一些vagrant命令

1.停止虚机

执行下面的命令可以关闭虚机:

vagrant halt

直接在 VirtualBox 上关闭虚机,或者直接在虚机内部执行 poweroff 命令也都是可以的。

2.暂停虚机

执行下面的命令可以暂停虚机:

vagrant suspend

3.恢复虚机

执行下面的命令把暂停状态的虚机恢复运行:

vagrant resume

注意: 不管虚机是关闭还是暂停状态,甚至是 error 状态,都可以执行 vagrant up 来让虚机恢复运行。

4.重载虚机

执行下面的命令会重启虚机,并且重新加载 Vagrantfile 中的配置信息:

vagrant reload

5.删除虚机

最后,执行下面的命令可以彻底删除虚机,包括整个虚机文件:

vagrant destroy

注意: 还是前面那句话,上面所有的 vagrant 命令都需要在 Vagrantfile 所在的目录下执行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值