真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

vagrant使用簡介

1> 簡介:

創(chuàng)新互聯建站服務項目包括榆陽網站建設、榆陽網站制作、榆陽網頁制作以及榆陽網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,榆陽網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到榆陽省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

 vagrant提供了易于配置,重復性好,便攜式的工作環(huán)境,這些對開發(fā)人員非常有用,它可以讓開發(fā)人員可以創(chuàng)建簡單且可重復使用的基于VirtualBox的虛擬機(現在也支持VMware和AWS等),這些虛擬機可以快速的創(chuàng)建和銷毀。vagrant也可以和puppet,chef等結合,實現虛擬機管理的自動化。vagrant的官網:http://www.vagrantup.com本文出自cclo的blog,轉載時請務必以超鏈接形式標明文章原始出處:http://xuclv.blog.51cto.com/5503169/1239250

2> 安裝:(OS:ubuntu12.04 vagrant:1.2.2)

 $ sudo apt-get install virtualbox

 $ sudo dpkg -i vagrant_1.2.2_x86_64.deb

 版本1.0.x也可以這樣安裝(OS:ubuntu12.04)

 sudo apt-get install vagrant

 或

 1:sudo apt-get install virtualbox

 2:sudo apt-get install ruby1.9.1 rubygems

 3:gem install vagrant

 NOTE:在物理機的基礎上安裝virtualbox,如果用vm創(chuàng)建的虛擬機中再安裝virtualbox和vagrant,那么vagrant將起不來。這里http://downloads.vagrantup.com/下載相應的vagrant版本,注意1.0.x版本和1.1+版本的配置有較大不同,稍后在做介紹。

3> 一個簡單的項目

 版本1.1+

 $ vagrant init precise32 http://files.vagrantup.com/precise32.box

 $ vagrant up

 版本1.0.x and 1.1+

 $ vagrant box add precise32 http://files.vagrantup.com/precise32.box

 $ vagrant init precise32

 $ vagrant up

 上述命令運行后,將有一個虛擬機VirtualBox運行Ubuntu 12.04 LTS 32位的系統。使用命令$ vagrant ssh進入該系統。

NOTE:"precise32"為虛擬機的名字,可以更改為你想用的名字。

      box是一個zip包,包含了vagrant的配置信息和VirtualBox的虛擬機鏡像文件

      "http://files.vagrantup.com/precise32.box"為鏡像所在的路徑,可以為本地路徑,所以建議將box下載下來后,指定為本地路徑,速度會更快

      這里http://www.vagrantbox.es/有許多公共的base boxes可供下載和使用,后續(xù)將會介紹如何創(chuàng)建一個base box。

4> 常用的vagrant命令:

 $ vagrant box add NAME URL    #添加一個box

 $ vagrant box list            #查看本地已添加的box

 $ vagrant box remove NAME virtualbox #刪除本地已添加的box,如若是版本1.0.x,執(zhí)行$ vagrant box remove  NAME

 $ vagrant init NAME          #初始化,實質應是創(chuàng)建Vagrantfile文件

 $ vagrant up                   #啟動虛擬機

 $ vagrant halt                 #關閉虛擬機

 $ vagrant destroy            #銷毀虛擬機

 $ vagrant reload             #重啟虛擬機

 $ vagrant package            #當前正在運行的VirtualBox虛擬環(huán)境打包成一個可重復使用的box

 $ vagrant ssh                 #進入虛擬環(huán)境

5> Vagrantfile

 官方解釋是這樣的:The primary function of the Vagrantfile is to describe the type of machine required for a project, and how to configure and provision these machines。翻譯出來太生澀,簡單來說就是配置這個虛擬主機網絡連接方式,端口轉發(fā),同步文件夾,以及怎么和puppet,chef結合的一個配置文件。執(zhí)行完$ vagrant init后,在工作目錄中,你會發(fā)現此文件。

 NOTE:配置版本說明:

Vagrant.configure("2") do |config|
  # ...
end

 當前支持的兩個版本:"1"和"2". "1":描述是Vagrant 1.0.x的配置(如看到Vagrant::Config.run do |config| 此也為Vagrant 1.0.x 的配置);"2":描述的是1.1+ leading up to 2.0.x的配置。vagrant 1.1+ 的Vagrantfiles能夠與vagrant 1.0.x的Vagrantfiles保持向后兼容,也大幅引入新的功能和配置選項。

6> 配置網絡(本文將提供2種版本的常用配置,其中版本1的配置經過實踐驗證)

(1) 端口轉發(fā):(假設虛擬機的80端口提供web服務,此處將通過訪問物理機的8080端口轉發(fā)到虛擬機的80端口,來實現web的訪問)

 版本"2":

Vagrant.configure("2") do |config|
  config.vm.network :forwarded_port, guest: 80, host: 8080
end

 版本"1"

Vagrant::Config.run do |config|
  # Forward guest port 80 to host port 8080
  config.vm.forward_port 80, 8080
end

 (2)橋接網絡(公共網絡,局域網DHCP服務器自動分配IP)

  版本"2"

Vagrant.configure("2") do |config|
  config.vm.network :public_network
end

  版本"1"

Vagrant::Config.run do |config|
  config.vm.network :bridged
end

  $ VBoxManage list bridgedifs | grep ^Name    #可通過此命令查看本機的網卡

    Name:            eth0

  指定網卡,配置可寫為如下:

Vagrant::Config.run do |config|
  config.vm.network :bridged, :bridge => "eth0"
end

  (3) 私有網絡:允許多個虛擬機通過主機通過網絡互相通信,vagrant允許用戶分配一個靜態(tài)IP,然后使用私有網絡設置。

  版本"2"

Vagrant.configure("2") do |config|
  config.vm.network :private_network, ip: "192.168.50.4"
end

  版本"1"

Vagrant::Config.run do |config|
  config.vm.network :hostonly, "192.168.50.4"
end

7> 同步文件夾

默認的,vagrant將共享你的工作目錄(即Vagrantfile所在的目錄)到虛擬機中的/vagrant,所以一般不需配置即可,如你需要可配置:

版本"2"

Vagrant.configure("2") do |config|
  # other config here
  config.vm.synced_folder "src/", "/srv/website"
end

  "src/":物理機目錄;"/srv/website"虛擬機目錄

8> vagrant和shell(實現在虛擬機啟動的時候自運行需要的shell命令或腳本)

 版本"2"

 內嵌腳本:

Vagrant.configure("2") do |config|
  config.vm.provision :shell,
    :inline => "echo Hello, World"
end

 復雜點的調用如下:

$script = <