一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Vagrant 快速入門

 sven_ 2013-08-27

1. Vagrant功能:

     Vagrant uses Oracle’s VirtualBox to build configurable, lightweight, and portable virtual machines dynamically..

      Vagrant 使用Oracle VM VirtualBox 動態(tài)創(chuàng)建和配置輕量級的,可重現(xiàn)的,便攜的虛擬機環(huán)境?!?/span>

2. Vagrant下載:

      http://downloads./tags/v1.0.5

3. Vagrant安裝:

       3.1. 下載并安裝Oracle VM VirtualBox: 例如在Windows環(huán)境下,需要安裝VirtualBox-4.2.0-80737-Win.exe

               https://www./wiki/Downloads

       3.2. 下載并安裝最新版本的Vagrant:

              http://downloads./

       [注]在 Windows and Mac OS X,vagrant 命令應(yīng)該自動添加到環(huán)境變量PATH. 但是在其他操作系統(tǒng)下, 你必須手動添加/opt/vagrant/bin 到環(huán)境變量PATH。

4. 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]

5. Vagrantfile

       任何Vagrant工程下都有一個Vagrantfile, 就像makefile一樣,Vagrantfile用來配置vagrant的行為所創(chuàng)建虛擬機的信息,下面是一個基本的Vagrantfile:      

       Vagrant::Config.run do |config|
           # Setup the box
           config.vm.box = "my_box"
       end

6. 創(chuàng)建第一個Vagrant虛擬環(huán)境以及工程:

(1)創(chuàng)建工程目錄, 并且執(zhí)行vagrant init命令,該命令會產(chǎn)生最初的 Vagrantfile

$ mkdir vagrant_guide
$ cd vagrant_guide
$ vagrant init

(2)添加一個Base Box:

     Vagrant不是從頭開始創(chuàng)建虛擬機,而是導(dǎo)入一個虛機的base image,在這個基礎(chǔ)上進行構(gòu)建。這些image就叫做Box.

     Vagrant 支持從本地文件系統(tǒng)或者HTTP URL來添加boxes

    $vagrant box add base http://files./lucid32.box

     $vagrant box add base D:\lucid32.box

    

(3)配置Project使用這個Box: 修改Vagrantfile為如下內(nèi)容:

     Vagrant::Config.run do |config|
        config.vm.box = "base"
     end

(4)啟動虛擬機

    $vagrant up

    

(5)停掉虛擬機

    $vagrant destroy

(6) SSH配置

     Vagrant 提供了對虛擬機的SSH連接,只需要執(zhí)行一個命令:

    $vagrant ssh

    在Windows環(huán)境下可以使用PUTTY,配置下面的信息來連接虛擬機:

     hostname: localhost

     port:             2222

     Connection Type: SSH

     User Name:   vagrant

     Password:     vagrant

    

(7)訪問剛才創(chuàng)建的Project.

     Vagrant 通過VirtualBox的shared folder來連接你的application和虛擬機, 默認的shared folder的衛(wèi)士是/vagrant, 所以想要查看剛才創(chuàng)建的項目,只需要執(zhí)行:

     vagrant@lucid32:~$ ls /vagrant
     index.html  Vagrantfile

(8) Provisioning:

      通常情況下Box只做最基本的設(shè)置,而不是一次到位的設(shè)置好所有的環(huán)境。Vagrant通常使用chef或者Puppet來做進一步的環(huán)境搭建。

      回到剛才創(chuàng)建的index.html,我們需要安裝Apache。我們下面用Puppet來完成這一設(shè)置。

      1. 在項目的根目錄下創(chuàng)建文件夾manifests,然后在該文件家中創(chuàng)建Puppet的配置文件default.pp,該文件內(nèi)容如下:     

# Basic Puppet Apache manifest

class apache {
  exec { 'apt-get update':
    command => '/usr/bin/apt-get update'
  }

  package { "apache2":
    ensure => present,
  }

  service { "apache2":
    ensure => running,
    require => Package["apache2"],
  }
}

include apache

   2. 在Vagrantfile里添加對Puppet provisioning的支持: 

Vagrant::Config.run do |config|
  config.vm.box = "base"

  # Enable the Puppet provisioner
  config.vm.provision :puppet
end

(9) 運行Project

        為了使puppet的配置生效,如果不重啟虛機,則需要執(zhí)行vagrant reload命令。

         $ vagrant reload 

        因為沒有配置port forwarding,所以你還不能從本地瀏覽器查看Project的輸出。只能SSH到虛擬機上查看127.0.0.1的輸出:

       

(10) 進行端口映射

        修改Vagrantfile, 添加本地端口和虛機端口的映射關(guān)系, 然后執(zhí)行vagrant reload, 然后你就可以通過本地瀏覽器來訪問:http://localhost:4567.  

   Vagrant::Config.run do |config|
        # Forward guest port 80 to host port 4567
        config.vm.forward_port 80, 4567
   end 
7. 打包 Packaging
   1. 創(chuàng)建一個新的文件Vagrantfile.pkg,內(nèi)容如下:     
     Vagrant::Config.run do |config|
                # Forward apache
                config.vm.forward_port 80, 8080
         end
    2. 打包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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久草精品视频精品视频精品| 日本一品道在线免费观看| 欧美一级片日韩一级片| 国产精品日韩欧美一区二区| 午夜精品在线视频一区| 日韩欧美中文字幕人妻| 亚洲精品一区二区三区日韩| 永久福利盒子日韩日韩| 好吊色欧美一区二区三区顽频| 中文字幕免费观看亚洲视频| 国产亚洲神马午夜福利| 午夜视频免费观看成人| 欧美黑人精品一区二区在线| 日本高清二区视频久二区| 欧美一二三区高清不卡| 黄片在线观看一区二区三区| 国产一区一一一区麻豆| 日本女优一色一伦一区二区三区| 国产精品一区二区丝袜| 开心久久综合激情五月天| 午夜精品久久久99热连载| 国产av大片一区二区三区| 91在线国内在线中文字幕| 精品一区二区三区乱码中文| 黑鬼糟蹋少妇资源在线观看 | 日韩精品人妻少妇一区二区| 国产欧美日韩精品成人专区| 国产精品视频久久一区| 小草少妇视频免费看视频| 欧美丰满大屁股一区二区三区| 亚洲av成人一区二区三区在线| 日韩不卡一区二区三区色图 | 亚洲精品一区二区三区免 | 激情亚洲内射一区二区三区| 国产亚洲精品久久99| 麻豆最新出品国产精品| 男女午夜福利院在线观看| 一区二区欧美另类稀缺| 激情亚洲内射一区二区三区| 国产一级性生活录像片| 手机在线不卡国产视频|