Vagrant 介绍和安装,基本使用

一、介绍

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。我们可以使用它来干如下这些事:

  • 建立和删除虚拟机
  • 配置虚拟机运行参数
  • 管理虚拟机运行状态
  • 自动配置和安装开发环境
  • 打包和分发虚拟机运行环境

Vagrant的运行,需要依赖某项具体的虚拟化技术,最常见的有VirtualBox以及VMWare两款,早期,Vagrant只支持VirtualBox,后来才加入了VMWare的支持。

为什么我们要选择Vagrant呢?因为它有跨平台、可移动、自动化部署无需人工参与等优点。、

在Vagrant体系中,有个box(箱子)的概念,这优点类似于docker体系中的image(镜像)。基于同一个box,不同的人可以运行得到相同的内容。这个我们下文再详细说。

因为我们知道vagrant依赖virtualbox,所以我们需要在安装vagrant之前先安装virtualbox,笔者初学时在网上搜索了很久,发现大部分人的vagrant教程里只说让安装vagrant并没有说要提前安装virtualbox,结果我按照他们的步骤安装完vagrant以后,发现死活起不来,当时真的是郁闷。后来又查了好久才知道这货依赖虚拟化软件,所以我又安装了virtualbox,这样我本地才把vagrant起来了。真的是坑!这个大家要注意了。

二、下载安装

1、下载 virtualbox 并安装

下载地址:www.virtualbox.org/wiki/Downlo...

2、下载并安装vagrant

下载地址:www.vagrantup.com/downloads.h...

三、vagrant box基本命令

  • 列出本地环境中所有的box

    vagrant box list

  • 添加box到本地vagrant环境

    vagrant box add box-name(box-url)

  • 更新本地环境中指定的box

    vagrant box update box-name

  • 删除本地环境中指定的box

    vagrant box remove box-name

  • 重新打包本地环境中指定的box

    vagrant box repackage box-name

    在线查找需要的box

官方网址:app.vagrantup.com/boxes/searc...

四、vagrant基本命令

  • 在空文件夹初始化虚拟机

    vagrant init [box-name]

  • 在初始化完的文件夹内启动虚拟机

    vagrant up

  • ssh登录启动的虚拟机

    vagrant ssh

  • 挂起启动的虚拟机

    vagrant suspend

  • 重启虚拟机

    vagrant reload

  • 关闭虚拟机

    vagrant halt

  • 查找虚拟机的运行状态

    vagrant status

  • 销毁当前虚拟机

    vagrant destroy

config.vm.box_url = "file:///E:/centos7_vagrant/virtualbox.box"

五、Vagrant使用国内box镜像

csharp 复制代码
vagrant init ubuntu-bionic https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box

其他版本在各自的开发代号目录下都可以找到。

中科大镜像站,如: mirrors.ustc.edu.cn/centos-clou...

启动一个 CentOS 7 的虚拟机:

bash 复制代码
vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box

六、使用vagrant 安装 Centos7

1、从 vagrantBox 网站查找

app.vagrantup.com/boxes/searc...

2、在 本地创建一个空的 文件夹 E:\centos7_vagrant 进入此文件夹,进行初始化

csharp 复制代码
vagrant init centos/7
vagrant up

在运行 vagrant up 时候,会去国外网站下载 速度会比较慢

可以暂停,去迅雷等 软件去下载

下载后的文件 如上图所示

3、添加 box 到 vagrant 中

config.vm.box_url = "file:///E:/centos7_vagrant/virtualbox.box"

rust 复制代码
vagrant box add centos/7  ./virtualbox.box

vagrant up 运行完成后

复制代码
vagrant  ssh 

root 密码 默认为 vagrant 在 virtualBox 中的配置如下

七、vgrant unbantu 安装

vagrant国内ubuntu镜像

blog.csdn.net/weixin_4221...

  • ubuntu 18.04 LTS:
sql 复制代码
vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box --name ubuntu18 
  • ubunt 16.04 LTS:
sql 复制代码
vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/xenial/current/xenial-server-cloudimg-amd64-vagrant.box --name ubuntu16 
  • ubuntu14:
sql 复制代码
vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box --name ubuntu14

修改文件 Vagrantfile

ini 复制代码
  config.vm.box = "ubuntu18"
  config.vm.box_url = "file:///D:/ubuntu_vagrant/bionic-server-cloudimg-amd64-vagrant.box"
rust 复制代码
vagrant box add  ubuntu18   ./bionic-server-cloudimg-amd64-vagrant.box
复制代码
vagrant up
复制代码
vagrant ssh
相关推荐
韩立学长1 小时前
【开题答辩实录分享】以《智能大学宿舍管理系统的设计与实现》为例进行选题答辩实录分享
数据库·spring boot·后端
编码者卢布4 小时前
【Azure Storage Account】Azure Table Storage 跨区批量迁移方案
后端·python·flask
她说..6 小时前
策略模式+工厂模式实现审批流(面试问答版)
java·后端·spring·面试·springboot·策略模式·javaee
梦梦代码精7 小时前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱
李慕婉学姐8 小时前
【开题答辩过程】以《基于Spring Boot的疗养院理疗管理系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·spring boot·后端
tb_first8 小时前
SSM速通2
java·javascript·后端
一路向北⁢8 小时前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(一)
java·spring boot·后端·sse·通信
风象南8 小时前
JFR:Spring Boot 应用的性能诊断利器
java·spring boot·后端
爱吃山竹的大肚肚8 小时前
微服务间通过Feign传输文件,处理MultipartFile类型
java·spring boot·后端·spring cloud·微服务
毕设源码-邱学长10 小时前
【开题答辩全过程】以 基于Springboot的酒店住宿信息管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端