# vagrant简介

#

在讲vagrant之前,我们首先了解一下两款虚拟机:VirtualBox和Vmware

# 虚拟机的优点:

  • 演示环境,可以安装各种演示环境,便于做各种例子
  • 保证主机的快速运行,减少不必要的垃圾安装程序
  • 避免每次重新安装
  • 想测试一下不熟悉的应用程序,在虚拟机中随便安装和彻底删除
  • 体验不同版本的操作系统,如Linux、Mac等。

# vagrant是什么?

# vagrant是构建在虚拟化技术之上的虚拟机运行环境管理工具。

vagrant是一款用来构建虚拟开发环境的工具,非常适合各类语言来开发web应用,“代码在我机器上运行没有问题”将成为历史。

可以通过vagrant将封装好的开发环境,分发给开发人员。开发人员可以在各自不同的操作系统中快速部署统一的环境。

# vagrant的作用

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

vagrant的运行,需要依赖某项具体的虚拟化技术,VirtualBox和Vmware

# 个人角度vagrant的作用
  • 跨平台
  • 可移动
  • 自动化部署无需人工参与
  • 面试加分项
# 公司角度vagrant的作用
  • 减少人力培训成本
  • 统一开发环境

# vagrant适用范围

  • 开发环境

  • 项目配置比较复杂,配置好后可分享给每个人,大家的开发环境都一模一样。

# vagrant常用命令

命令 说明
vagrant box add {boxName} {boxFile} 添加box到列表
vagrant box list 查看目前已有的box
vagrant box remove {boxName} 删除指定box
vagrant init {boxName} 初始化配置vagrantfile
vagrant up 启动虚拟主机
vagrant ssh ssh登录虚拟主机
vagrant halt 关闭虚拟主机
vagrant reload 重启虚拟主机
vagrant suspend 挂起虚拟主机,即暂停(休眠)
vagrant resume 唤醒虚拟机,即恢复被挂起的虚拟主机
vagrant destroy 销毁当前虚拟机,停止当前正在运行的虚拟机并销毁所有创建的资源
vagrant status 查看虚拟机运行状态
vagrant package 把当前的运行的虚拟机环境进行打包,可用于分发开发环境
vagrant plugin 安装卸载插件
vagrant provision 设置基本的环境,进一步设置可以使用Chef/Puppet进行搭建
vagrant ssh-config 输出ssh连接的一些信息
vagrant version 获取vagrant的版本

详细说明命令可参阅官方文档 (opens new window)

https://www.vagrantup.com/docs/index.html

vagrant package命令详解

vagrant package

参数使用

1、--base NAME - 替代打包一个VirtualBox主机,这个参数打包一个VirtualBox manages的VirtualBox。这里NAME是VirtualBox GUI中显示的虚拟机的UUID或者名字。
2、--output NAME - 这个参数设置打包的名字,如果没有这个参数,则默认保存为 package.box
3、--include x,y,z - 附加一些文件到box中,这是让打包Vagrantfile执行附加任务
4、-vagrantfile FILE - 打包一个Vagrantfile到box中,这个Vagrantfile将作为box使用的Vagrantfile load
1
2
3
4

实例:

打包命令要先关闭虚拟机

vagrant halt –--关机

vagrant package --output trusty-server1.box
1
2
3

# vagrant 视频教程

vagrant打造跨平台可移动的开发环境-慕课网 (opens new window)

简介:Vagrant目前是国内互联网公司应用最多的内部开发环境工具。Vagrant是我们开发者的福音,使我们完全摆脱了重复配置环境的处境。Vagrant简单的配置,丰富的自动化脚本资源以及分享的便捷性都是我们应该学习的思想,节省开发人员的大量准备工作时间,使开发人员更专注公司业务开发。本课程分为理论和实践两部分,理论部分主要讲解Vagrnat的好处和基本命令,实战阶段通过实战案例为大家讲解Vagrant配置开发环境的全过程。

第2章 vagrant介绍

分别在window和mac两个系统上安装vagrant软件,并提前了解一些vagrant的常用命令

第3章 实战

通过vagrant启动一个虚拟机,初始化运行环境及配置完成主流框架thinkPHP yii2 laravel 的运行环境 同时会讲解vagrant的优化及打包分发 NFS、网络配置、端口转发等高级知识

第4章 课程总结

对本课程的所有知识点进行回顾

# Homestead 简单功能丰富的开发环境 (opens new window)

1 homestead解决什么样的实际问题 (opens new window)

2 virtualbox、vagrant、homestead关系分析 (opens new window)

3 本地添加homestead box 镜像 (opens new window)

4 安装Homestead管理脚本 (opens new window)

5 配置ssh远程无密码连接homestead (opens new window)

6 文件夹同步配置 (opens new window)

7 安装homestead到virtualbox (opens new window)

8 ssh连接homestead并测试文件同步 (opens new window)

9 使用域名访问到homestead虚拟主机 (opens new window)

10 homestead连接数据库 (opens new window)

11 全局命令操作homestead (opens new window)

12 git for windows与其他安装homestead需要的软件 (opens new window)

13 导入homestead镜像box与创建ssh秘钥 (opens new window)

14 配置共享目录与ssh远程连接测试 (opens new window)

15 本地域名解析操作 (opens new window)

16 配置homestead全局执行命令 (opens new window)

17 主机连接homestead中的mysql数据库 (opens new window)

更新时间: 2023-1-29 18:57:07