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

虚拟运行环境管理工具Vagrant详细使用教程

文章目录

  • 前言
  • 一、下载安装Vargant
  • 二、自定义vagrant相关安装路径
    • 2.1、自定义box安装存储位置
    • 2.2、自定义虚拟机安装目录
  • 三、配置详解
  • 四、命令大全整理
  • 五、实战
    • 5.1、安装一个centos7虚拟机
      • 5.1.1、提前准备镜像centos7
      • 4.1.2、初始化centos7
      • 4.1.3、启动与连接centos7(vagrant自带ssh与ssh图形化连接)
      • 额外:自定义ip地址连接
  • 参考资料

前言

最近在学习谷粒商城,谷粒商城在构建虚拟机环境就是使用的vagrant工具来进行快速构建,之前并没有接触过,就进行完整梳理与实战了下,使用完之后感觉真的很香,极其推荐!

Vagrant是构建在虚拟化技术之上的虚拟运行环境管理工具。通过使用Vagrant我们可以快速去构建我们想要的虚拟环境,同样其搭配virtualbox来进行使用,通过构建vagrantfile我们可以来快速的进行创建、启动、挂起、重启虚拟机,以及其还附带ssh工具来进行连接!

所有博客文件目录索引:博客目录索引(持续更新)

一、下载安装Vargant

对于virtualbox的安装与配置可以看我之前写的一篇博客:VirtualBox安装与配置

Vargant下载地址:https://www.vagrantup.com/downloads

官方镜像下载:https://app.vagrantup.com/boxes/search

  • Centos镜像网址:http://cloud.centos.org/centos/
  • Ubuntu镜像下载网站:http://cloud-images.ubuntu.com/

image-20221103200736710

链接:https://pan.baidu.com/s/19Xk2S9UDWM3mzmkEUmkWOw 
提取码:rnyt 

双击来进行安装即可,安装完成之后需要你去重启,重启好了之后,我们打开cmd来测试一下vagrant是否已经配置好了环境变量:

vagrant

image-20221103202608950

二、自定义vagrant相关安装路径

2.1、自定义box安装存储位置

在安装好vagrant之后,默认的box已经其他存储路径是在c盘的用户目录下的 .vagrant.d 目录下:

image-20221103205018923

如何去自定义位置呢?

新建环境变量,自定义一个文件夹并将环境变量指向过去:

VAGRANT_HOME
D:\software\vagrantbox\VirtualBox.vagrant.d

image-20221103205203469

同时我们将原本C盘中的内容拷贝过去:

image-20221103205329642


2.2、自定义虚拟机安装目录

在使用vagrant去创建的虚拟机都会默认在C盘中去进行创建,这与我们在virtualbox里的全局设定有关:

image-20221103213609159

我们只需要对其默认虚拟电脑位置修改下即可!


三、配置详解

Vagrant系列(二)Vagrant的配置文件Vagrantfile详解

vagrant+virtualbox虚拟机创建全流程,问题处理以及过程讲解,初始安装不放C盘,初始化硬盘空间设置,ssh连接超时,基础镜像下载等等

内存与cpu核数

# -*- mode: ruby -*-
# vi: set ft=ruby :Vagrant.configure("2") do |config|# 对应指定的镜像config.vm.box = "centos7"# 配置静态网址(与当前电脑的ip地址要对应)config.vm.network "private_network", ip: "169.254.5.168" config.vm.provider "virtualbox" do |vb|# 内存8Gvb.memory = "8192"# CPU4核vb.cpus = 4end
end

四、命令大全整理

# 查询当前管理的盒子
vagrant box list# 添加指定的vagrant的box镜像到vagrant中
# 语法:vagrant box add box的文件路径及文件名 --name centos8,后面-name表示指定名字# 根据名字删除指定的box
# 语法:vagrant box remove NAME# ---虚拟机相关命令---
# 新建虚拟机
# 语法:vagrant init [boxname]  # 加上boxname 表示使用指定box名创建虚拟机# 启动虚拟机命令
vagrant up# 查看虚拟机状态
vagrant status# 停止虚拟机
vagrant halt# 暂停虚拟机
vagrant suspend# 重启虚拟机
vagrant reload# 恢复虚拟机 | 不管虚机是关闭还是暂停状态,甚至是 error 状态,都可以执行 vagrant up 来让虚机恢复运行
vagrant resume# 删除虚拟机
vagrant destroy# ---辅助命令---
# 使用vagrant自带的ssh工具去连接当前目录下的虚拟机
vagrant ssh

五、实战

5.1、安装一个centos7虚拟机

5.1.1、提前准备镜像centos7

若是想要直接从远程拉取命令安装的可直接跳过这步直接执行:Vagrant init centos/7

由于从远程拉取默认会从对应的vagrant镜像网站去拉取指定版本的centos,时间肯定会很长,我们采取另一种方式,先把对应centos7的box文件下载下来,安装到vargrant中,接着去进行初始化,一系列操作如下:

①下载centos7的box文件

官网的centos7的镜像:centos7镜像,我们直接去国内的中科大镜像源:centos7-vagrant

image-20221103204237998

我们可以通过命令来确定下载源地址:

vagrant init centos/7
vagrant up

image-20221107161333637

获取到源下载地址:https://vagrantcloud.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box

直接下载的话会很慢,我这边下好了直接取就可:

链接:https://pan.baidu.com/s/1ieASF3r35X1wWxpfsw_x_g 
提取码:dl6z 

②将centos7中的box文件添加到vagrant中,并取名字为centos7

# 指定路径的box文件设置别名为centos7
vagrant box add D:\software\vagrantbox\boxes\Centos7.box --name centos7

image-20221107165019061

命令效果:

image-20221107165116740


4.1.2、初始化centos7

当前初始化时基于本地的centos7的box文件,我们在上节将其名为centos7了。

初始化命令,此时我们将创建了vagrantfile文件:

# centos7是之前盒子的别名
vagrant init centos7

image-20221103211949860

在当前目录中就会有一个Vagrantfile文件。


4.1.3、启动与连接centos7(vagrant自带ssh与ssh图形化连接)

启动centos7系统

初始化文件好了之后,我们就来启动这个vagrantfile,执行启动命令:

vagrant up

image-20221103212218741

此时已经成功启动我们的centos7系统!

默认的用户名与密码为:

vagrant
vagrant

注意:请在启动命令的文件目录中不要出现中文、空格符的情况!

配置源内容如下:

# 备份原yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 使用新yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 生成缓存
yum makecache

连接centos7

方式一:使用vagrant的ssh工具来进行连接(无需输入用户名与密码)

vagrant ssh

image-20221103212456149

方式二:虚拟机显示窗口或者使用ssh连接GUI工具

虚拟机显示窗口运行:

image-20221103212604089

图形化工具连接:

①私钥登录

vagrant默认不允许使用用户名与密码来进行登录,而是使用私钥登录:

image-20221103215254414

私钥在当前vagrantfile同路径下的.vagrant目录下:

C:\Users\93997\Desktop\guli-mall\vagrantfile\centos7\.vagrant\machines\default\virtualbox

image-20221103215346014

ok,此时登录成功!

image-20221103215424436

②用户名与密码登录

su root   # 默认root密码为vagrant

我们需要修改配置文件:

vi /etc/ssh/sshd_config

修改配置信息如下:

PermitRootLogin yes        # 允许直接通过root账号登录
PasswordAuthentication yes # 可以通过密码登录

重启sshd令其生效:

sudo systemctl restart sshd

接着我们就可以使用用户名与密码来进行登录了!


额外:自定义ip地址连接

默认的话就是通过127.0.0.1也就是本地地址及通过端口转发来进行访问的虚拟机,这样的话对于开发不太方便,我们可以去修改固定的IP地址,操作如下:

①首先查看当前你电脑的virtualbox的ip地址

image-20221103212936705

②根据子网掩码我们自定义一个ip地址:169.254.5.168

打开刚刚的vagrantfile,来进行编辑:

image-20221103213222214

接着我们来尝试虚拟机与主机互ping一下:

image-20221103214357663

最后尝试使用下SSH图形化工具finalshell连接一下。

参考资料

[1]. Vagrant 入门使用教程

[2]. 使用Vagrant在命令行快速创建虚拟机

[3]. 解决使用第三方软件连接vagrant虚拟机连接问题

[4]. 修改vagrant,virtualbox数据目录

[5]. Vagrant初始化一个centos7虚拟机、配置Vagrant可以让客户端工具通过root账号登录

[6]. vagrant安装的centos7开启root远程连接登入

http://www.lryc.cn/news/2415189.html

相关文章:

  • XXXX is not translated in en (English), zh (Chinese)
  • 什么是业务? 编程语言范畴中谈到的业务是什么
  • 全球免费公共DNS解析服务器 |解决无法上网+加速+防劫持
  • 多线程之pthread_create()函数
  • 《第十五章 异常处理 - try-catch 语句》
  • 字符分割函数strtok
  • 计算机组成原理_浮点数的定义
  • 什么是阻抗?
  • Mssql手工注入
  • sda、sdb、sda1、sda2的意思
  • 详细介绍 CVS (附带 其配置与使用方法)
  • JDK的下载安装及配置(包含多个JDK)
  • Solr的源代码解析和开发技巧
  • 口碑超好的五款桌面管理软件|桌面管理软件排行榜
  • CKEditor5导入并解析word功能的集成,实现word转html
  • 进阶注解处理器 processor (三)
  • IP、子网、超网(CIDR)、网段知识讲解
  • ixp协议服务器,ipx协议中的“内部网络号”是什么意思?
  • C语言—strcpy,strncpy函数介绍、以及自己实现字符串的拷贝代码演示
  • 深度剖析 Go 的 nil
  • 什么是哈希算法sha2?和sha1什么区别?SHA2代码签名?sha3又是什么?
  • Linux C语言运行库 glibc
  • YOLOv5输入端(一)—— Mosaic数据增强|CSDN创作打卡
  • AS2安全基础知识
  • JPEG文件格式分析及举例验证
  • 使用CCProxy代理局域网上网
  • GCD详解,多种
  • 缠中说禅:缠非缠、禅非禅,枯木龙吟照大千(整理版)
  • pm2常用命令及pm2自启动
  • rollup - 构建原理及简易实现