Vagrant简介
2015-01-10 14:21
176 查看
1.软件安装
sudo apt-get update sudo apt-get install virtualbox
sudo apt-get install dkms
sudo apt-get install virtualbox-dkms
下载vagrant: http://downloads.vagrantup.com/dpkg -i vagrant_1.7.2_x86_64.deb2.使用可以使用现有的box环境
$ git clone https://github.com/DandyDev/graphite-statsd-ansible-vagrant $ cd /path/to/graphite-statsd-ansible-vagrant$ vagrant up
3. Vagrant命令
Vagrant安装完成之后,我们就可以从命令行通过vagrant命令来进行操作。vagrant常用命令如下: vagrant box add <name> <url> vagrant box list vagrant box remove <name> vagrant box repackage <name> vagrant init [box-name] [box-url] vagrant up [vm-name] [--[no-]provision] [-h] vagrant destroy [vm-name] vagrant suspend [vm-name] vagrant reload [vm-name] vagrant resume [vm-name] vagrant halt [vm-name] vagrant status [vm-name] vagrant package [vm-name] [--base name] [--output name.box][--include one,two,three] [--vagrantfile file] vagrant provision [vm-name] vagrant ssh [vm-name] [-c command] [-- extra ssh args] vagrant ssh-config [vm-name] [--host name]4. Vagrantfile
任何Vagrant工程下都有一个Vagrantfile, 就像makefile一样,Vagrantfile用来配置vagrant的行为所创建虚拟机的信息,下面是一个基本的Vagrantfile:
Vagrant::Config.run do |config|# Setup the boxconfig.vm.box = "my_box"end
5. 创建第一个Vagrant虚拟环境以及工程:
(1)创建工程目录, 并且执行vagrant init命令,该命令会产生最初的 Vagrantfile$ mkdir vagrant_guide$ cd vagrant_guide$ vagrant init(2)添加一个Base Box:Vagrant不是从头开始创建虚拟机,而是导入一个虚机的base image,在这个基础上进行构建。这些image就叫做Box.Vagrant 支持从本地文件系统或者HTTP URL来添加boxes $vagrantbox add base http://files.vagrantup.com/lucid32.box [b]$vagrantbox add base D:\lucid32.box[/b]安装官方box image:vagrant box add hashicorp/precise32该命令会自动从https://atlas.hashicorp.com/boxes/search 上获取相应的box(3)配置Project使用这个Box: 修改Vagrantfile为如下内容: Vagrant::Config.run do|config| config.vm.box = "base" end(4)启动虚拟机 $vagrantup(5)停掉虚拟机 $vagrantdestroy(6) SSH配置 Vagrant 提供了对虚拟机的SSH连接,只需要执行一个命令: $vagrantssh[/u] 在Windows环境下可以使用PUTTY,配置下面的信息来连接虚拟机: hostname: localhost port: 2222 Connection Type: SSH User Name: vagrant Password: vagrant (7)访问刚才创建的Project. Vagrant 通过VirtualBox的shared folder来连接你的application和虚拟机, 默认的shared folder的卫士是/vagrant, 所以想要查看刚才创建的项目,只需要执行: vagrant@lucid32:~$ ls/vagrant index.html Vagrantfile(8) Provisioning: 通常情况下Box只做最基本的设置,而不是一次到位的设置好所有的环境。Vagrant通常使用chef或者Puppet来做进一步的环境搭建。 回到刚才创建的index.html,我们需要安装Apache。我们下面用Puppet来完成这一设置。 1. 在项目的根目录下创建文件夹manifests,然后在该文件家中创建Puppet的配置文件default.pp,该文件内容如下:
# Basic Puppet Apache manifestclass apache {exec { 'apt-get update':command => '/usr/bin/apt-get update'}package { "apache2":ensure => present,}service { "apache2":ensure => running,require => Package["apache2"],}}include apache2. 在Vagrantfile里添加对Puppet provisioning的支持:
Vagrant::Config.run do |config| config.vm.box = "base" # Enable the Puppet provisioner config.vm.provision :puppetend(9) 运行Project 为了使puppet的配置生效,如果不重启虚机,则需要执行vagrant reload命令。 $ vagrant reload 因为没有配置port forwarding,所以你还不能从本地浏览器查看Project的输出。只能SSH到虚拟机上查看127.0.0.1的输出: (10) 进行端口映射 修改Vagrantfile, 添加本地端口和虚机端口的映射关系, 然后执行vagrant reload, 然后你就可以通过本地浏览器来访问:http://localhost:4567.
Vagrant::Config.run do |config|# Forward guest port 80 to host port 4567config.vm.forward_port 80, 4567
end[/code]
7. 打包 Packaging
1. 创建一个新的文件Vagrantfile.pkg,内容如下:
Vagrant::Config.run do |config|# Forward apacheconfig.vm.forward_port 80, 8080end2. 打包Project
$ vagrant package --vagrantfile Vagrantfile.pkg
8. 打包完成后,在工程根目录下就会生成package.box,别人就可以使用这个Box了:
$ vagrant box add my_box /path/to/the/package.box$ vagrant init my_box$ vagrant up参考:http://blog.csdn.net/jillliang/article/details/8251242Vagrant常用连接:box images:https://vagrantcloud.com/boxes/searchhttp://www.olindata.com/blog/2014/07/installing-vagrant-and-virtual-box-ubuntu-1404-ltshttp://packages.vstone.eu/vagrant-boxes/centos/7.x/https://atlas.hashicorp.com/boxes/search?utf8=%E2%9C%93&sort=&provider=&q=centos7
相关文章推荐
- vagrant使用简介
- Vagrant使用指南:Vagrant命令使用简介
- vagrant简介
- Vagrant简介
- Vagrant使用简介
- 第一章 vagrant简介--vagrant是什么?(2)
- 第一章 vagrant简介--Why Vagrant?(3)
- vagrant 使用方法简介 virtualbox 的命令行管理工具 可以实现virtualbox后台运行
- 第一章 vagrant简介--The Tao of Vagrant(4)
- 第一章 vagrant简介--Setting Up Vagrant(6)
- 第一章 vagrant简介--Alternatives to Vagrant(5)
- vagrant使用简介
- 第一章 vagrant简介--Installing VirtualBox(7)
- MFC程序中消息以及函数的处理顺序简介!
- 数据结构之:treap 简介(二)
- SQL Server索引视图及性能提高简介
- Evas 简介
- 操作系统基础笔记一简介
- RTOS姊妹花——Small RTOS与STOS++简介
- LeapMotion 简介