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
相关推荐
hui函数21 小时前
scrapy框架-day02
后端·爬虫·python·scrapy
Moshow郑锴1 天前
SpringBootCodeGenerator使用JSqlParser解析DDL CREATE SQL 语句
spring boot·后端·sql
小沈同学呀1 天前
创建一个Spring Boot Starter风格的Basic认证SDK
java·spring boot·后端
方圆想当图灵1 天前
如何让百万 QPS 下的服务更高效?
分布式·后端
凤山老林1 天前
SpringBoot 轻量级一站式日志可视化与JVM监控
jvm·spring boot·后端
凡梦千华1 天前
Django时区感知
后端·python·django
Chan161 天前
JVM从入门到实战:从字节码组成、类生命周期到双亲委派及打破双亲委派机制
java·jvm·spring boot·后端·intellij-idea
烈风1 天前
004 Rust控制台打印输出
开发语言·后端·rust
用户21411832636021 天前
用 AI 一键搞定!中医药科普短视频制作升级版
后端
秋难降1 天前
零基础学习SQL(十一):SQL 索引结构|从 B+Tree 到 Hash,面试常问的 “为啥选 B+Tree” 有答案了
数据库·后端·mysql