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
相关推荐
明月_清风6 小时前
Muse 登顶 App Store 第一,SDK 直接开源:AI Agent 开始进入下一个阶段
人工智能·后端
hsfxuebao8 小时前
Loop Engineering 保姆级教程 + 项目实战
人工智能·后端
打工仔折腾 AI8 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
架构技术专栏9 小时前
交叉熵:AI 怎样给概率预测打分
后端
IT_陈寒10 小时前
SpringBoot自动配置坑了我一把,原来是这样绕过去的
前端·人工智能·后端
要努力啊46911 小时前
用 Codex 加速 Java 开发:从代码生成到测试覆盖的完整实战
后端
dora11 小时前
LangChain4j 新手入门实战教程(Java版)
后端·langchain·agent
蜗牛互联网11 小时前
MongoDB Atlas Agent Engine之后,如何用版本门禁防止陈旧写入
java·数据库·人工智能·后端·mongodb
付威202311 小时前
Rust 生命周期:为什么要有它,实际代码里到底怎么用?
后端
海岳云舟11 小时前
spring使用kafka的三种方式(listener、container、stream)
后端