简介

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,有点docker的容器的味道.

优点

  1. 适合于在window下,但代码跑在linux上的那类像我一样买不起mac的穷屌丝.

  2. 为linux和window创建共享目录,window下开发,linux上代码直接同步

  3. vagrant 的相关命令特别少,便于使用

  4. 开发环境配置一次可以生成box文件,可移植.

vagrant使用

官网地址: https://www.vagrantup.com/
下载box的地址:

需要工具

  • vagrant

  • VirtualBox

  • ubuntu14.04.box(举例)

vagrant 基本介绍

vagrant是一款虚拟机管理工具,使用它可以快速搭建可复用、可移植的开发环境

安装和使用

  1. 安装VirtualBox

  2. 安装vagrant 查看是否安装成功,cmd下vagrant -v

  3. 添加镜像到vagrant

vagrant box add ubuntu14.04 F:/vagrantBox/ubuntu14.04.box

ubuntu14.04为我们给box命名的名称
F:/vagrantBox/ubuntu14.04.box为镜像的路径
在vagrantBox目录上按住shift然后鼠标右键,选择在此打开命令窗口即可在命令行进入当前目录

vagrant box list  --查看box的列表
  1. 初始化开发环境
    命令行下进入当前目录,执行下面的命令

vagrant init ubuntu14.04

相应会生成一个名称为Vagrantfile的配置文件

  1. 修改配置文件
    打开 Vagrantfile,取消下面的注释,然后重启

config.vm.network "public_network" --公共网络,类似于virtual box的桥接模式

自定义ip地址,可以通过该ip连接该机器
Vagrant 默认是使用端口映射方式将虚拟机的端口映射本地从而实现类似 http://localhost:80 这种访问方式,这种方式比较麻烦,新开和修改端口的时候都得编辑。

  1. 启动和登录
    启动vagrant up,查看状态vagrant status

可以通过客户端工具执行ssh登录
默认账号:vagrant 默认密码:vagrant 可以在配置文件查看.

cmd下vagrant ssh命令,可以查看到如下信息

Host: 127.0.0.1  
Port: 2222
Username: vagrant  --远程连接账号
Private key: C:/Users/Administrator/.vagrant.d/boxes/ubuntu14.04/0/virtualbox/va
grant_private_key  --远程连接秘钥  

这里以xshell为例,选择秘钥登录
主机为: 配置文件中修改的ip

  1. 打包分发
    当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包:

vagrant package  --在当前box路径运行,直接生成一个package.box的包
vagrant package --output boxname --在当前box目录下生成一个boxname名称的合作

打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。
本人使用第二条命令打包以后,本地盒子不能用了,但是导出的盒子可以用

  1. 基本命令

vagrant box add NAME URL #添加一个box
vagrant box list #查看本地已添加的box
vagrant box remove NAME virtualbox #删除本地已添加的box,如若是版本1.0.x,执行vagrant box remove NAME
vagrant init NAME #初始化,实质应是创建Vagrantfile文件
vagrant up #启动虚拟机
vagrant halt #关闭虚拟机
vagrant destroy #销毁虚拟机
vagrant reload #重启虚拟机
vagrant package #当前正在运行的VirtualBox虚拟环境打包成一个可重复使用的box
vagrant ssh #进入虚拟环境

完成以后,盒子的根目录与虚拟机的vagrant根目录同步,不用安装Samba服务等

`window下的虚拟主机的配置目录
C:WindowsSystem32driversetchosts`


注意:默认分配512M,可以扩大为1G 左右,否则在安装的时候,可能会报错


happywho250
8 声望0 粉丝

下一篇 »
SQL 注入