vagrant 使用方法简介 virtualbox 的命令行管理工具 可以实现virtualbox后台运行
2014-08-30 07:46
901 查看
Vagrant快速入门
分类:软件测试2012-12-0315:58
5064人阅读
目录
1.Vagrant功能:
VagrantusesOracle’s
VirtualBoxtobuildconfigurable,lightweight,andportablevirtualmachinesdynamically..
【Vagrant使用OracleVMVirtualBox动态创建和配置轻量级的,可重现的,便携的虚拟机环境。】2.Vagrant下载:
3.Vagrant安装:
3.1.下载并安装OracleVMVirtualBox:例如在Windows环境下,需要安装VirtualBox-4.2.0-80737-Win.exe3.2.下载并安装最新版本的Vagrant:
[注]在WindowsandMacOSX,
vagrant命令应该自动添加到环境变量
PATH.但是在其他操作系统下,你必须手动添加
/opt/vagrant/bin到环境变量
PATH。
4.Vagrant命令
Vagrant安装完成之后,我们就可以从命令行通过vagrant命令来进行操作。vagrant常用命令如下:vagrantboxadd<name><url>
vagrantboxlist
vagrantboxremove<name>
vagrantboxrepackage<name>
vagrantinit[box-name][box-url]
vagrantup[vm-name][--[no-]provision][-h]
vagrantdestroy[vm-name]
vagrantsuspend[vm-name]
vagrantreload[vm-name]
vagrantresume[vm-name]
vagranthalt[vm-name]
vagrantstatus[vm-name]
vagrantpackage[vm-name][--basename][--outputname.box][--includeone,two,three][--vagrantfilefile]
vagrantprovision[vm-name]
vagrantssh[vm-name][-ccommand][--extrasshargs]
vagrantssh-config[vm-name][--hostname]
5.Vagrantfile
任何Vagrant工程下都有一个Vagrantfile,就像makefile一样,Vagrantfile用来配置vagrant的行为所创建虚拟机的信息,下面是一个基本的Vagrantfile:
Vagrant::Config.rundo|config|
#Setupthebox
config.vm.box="my_box"
end
6.创建第一个Vagrant虚拟环境以及工程:
(1)创建工程目录,并且执行vagrantinit命令,该命令会产生最初的Vagrantfile$mkdirvagrant_guide
$cdvagrant_guide
$vagrantinit
(2)添加一个BaseBox:
Vagrant不是从头开始创建虚拟机,而是导入一个虚机的baseimage,在这个基础上进行构建。这些image就叫做Box.
Vagrant支持从本地文件系统或者HTTPURL来添加boxes
$vagrantboxaddbase
[b]$vagrantboxaddbaseD:\lucid32.box[/b]
(3)配置Project使用这个Box:修改Vagrantfile为如下内容:
Vagrant::Config.rundo|config|
config.vm.box="base"
end
(4)启动虚拟机
$vagrantup
(5)停掉虚拟机
$vagrantdestroy
(6)SSH配置
Vagrant提供了对虚拟机的SSH连接,只需要执行一个命令:
$vagrantssh
在Windows环境下可以使用PUTTY,配置下面的信息来连接虚拟机:
hostname:localhost
port:2222
ConnectionType:SSH
UserName:vagrant
Password:vagrant
(7)访问刚才创建的Project.
Vagrant通过VirtualBox的sharedfolder来连接你的application和虚拟机,默认的sharedfolder的卫士是/vagrant,所以想要查看刚才创建的项目,只需要执行:
ls/vagrant
index.htmlVagrantfile
(8)Provisioning:
通常情况下Box只做最基本的设置,而不是一次到位的设置好所有的环境。Vagrant通常使用
回到刚才创建的index.html,我们需要安装Apache。我们下面用Puppet来完成这一设置。
1.在项目的根目录下创建文件夹manifests,然后在该文件家中创建Puppet的配置文件default.pp,该文件内容如下:
#BasicPuppetApachemanifest
classapache{
exec{'apt-getupdate':
command=>'/usr/bin/apt-getupdate'
}
package{"apache2":
ensure=>present,
}
service{"apache2":
ensure=>running,
require=>Package["apache2"],
}
}
includeapache
2.在Vagrantfile里添加对Puppetprovisioning的支持:
Vagrant::Config.rundo|config|
config.vm.box="base"
#EnablethePuppetprovisioner
config.vm.provision:puppet
end
(9)运行Project
为了使puppet的配置生效,如果不重启虚机,则需要执行vagrantreload命令。
$vagrantreload
因为没有配置portforwarding,所以你还不能从本地浏览器查看Project的输出。只能SSH到虚拟机上查看127.0.0.1的输出:
(10)进行端口映射
修改Vagrantfile,添加本地端口和虚机端口的映射关系,然后执行vagrantreload,然后你就可以通过本地浏览器来访问:
Vagrant::Config.rundo|config|
#Forwardguestport80tohostport4567
config.vm.forward_port80,4567
end[/code]
7.打包Packaging
1.创建一个新的文件Vagrantfile.pkg,内容如下:
Vagrant::Config.rundo|config|
#Forwardapache
config.vm.forward_port80,8080
end
2.打包Project
$vagrantpackage--vagrantfileVagrantfile.pkg[/code]
8.打包完成后,在工程根目录下就会生成package.box,别人就可以使用这个Box了:
$vagrantboxaddmy_box/path/to/the/package.box[/code]
$vagrantinitmy_box
$vagrantup
相关文章推荐
- asp.net后台如何输出js脚本使用什么方法可以实现
- Python之Fabric模块 Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:
- 【AD】AD域环境下利用Supercrypt实现普通用户安装/运行/更新使用管理权限的方法
- linux 启动项管理,运行级别介绍、chkconfig管理工具使用方法、linux系统启动项说明
- AD域环境下利用Supercrypt实现普通用户安装/运行/更新使用管理权限的方法
- AD域环境下利用Supercrypt实现普通用户安装/运行/更新使用管理权限的方法
- Linux 技巧:让进程在后台可靠运行的几种方法 用 cron 和 at 调度作业 使用 screen 管理你的远程会话
- 批量激活管理工具VAMT 3.0的安装与基本使用方法简介
- 内核子系统或设备驱动可以直接编译到内核,也可以编译成模块,如果编译到内核,可以使用前一节介绍的方法通过内核启动参数来向它们传递参数,如果编译成模块,则可以通过命令行在插入模块时传递参数,或者在运行时,
- 进程管理工具可以下载使用
- luyikk 的C# PING 工具 与 传统的不一样的是 他可以修改你的 IP地址实现伪造ICMP数据包 ,当然 XP下无法使用 2003下才可以使用
- 标准功能模块组件 -- 名片管理组件,C\S 版本的标准用例程序,可以参考权限实现方法
- 从命令行模式运行Windows管理工具
- VSS实现版本控制管理的一些使用方法
- 文献管理工具【Endnote】【NoteExpress】使用方法
- 【asp.net 】使用js结合hidden控件实现在后台运行一段程序后提示确认,确认通过后继续执行后台代码~~~
- .Net中VSS实现版本控制管理的一些使用方法
- Java 有几程方法可以实现一个线程?用什么关键字修饰同步?stop()和suspend()为什么不推荐使用?
- ESC之ESC.wsf可以实现javascript的代码压缩附使用方法第1/5页