1. 程式人生 > >vagrant新手入門

vagrant新手入門

簡介
Vagrant是一個基於Ruby的工具,用於建立和部署虛擬化開發環境。
下面的安裝基於VirtualBox,開始之前需要先安裝VirtualBox。
一、安裝並初始化
1.下載vagrant安裝程式,並執行安裝。
2.重啟電腦之後,在dos命令列就可以執行vagrant命令了。
3.新建專案目錄。

$ mkdir vagrant_getting_started
$ cd vagrant_getting_started
$ vagrant init                     //初始化目錄,生成vagrantfile配置檔案

二、新增box
1.盒子下載網站:

https://vagrantcloud.com/boxes/search
網站上有很多已經做好的虛擬機器環境,可以提前下載放到本地。當然也可以不提前下載,直接使用下面的命令來線上下載。
2.盒子下載命令
$ vagrant box add hashicorp/precise64 //從HashiCorp's Vagrant Cloud
box catalog下載名為”hashicorp/precise64”的box,並存儲在”使用者目錄/.vagrant.d/boxes”.
3.盒子的名稱空間
上例中使用者名稱是 “hashicorp”, 盒子是 “precise64”。也可以使用URL或者本地路徑。
三.使用盒子

1.修改配置檔案使用下載的盒子

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
end

2.也可以新增盒子的版本號

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.box_version = "1.1.0"
end

3.也可以新增盒子的URL描述

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box" end

四、啟動盒子並連線
1.啟動vagrant環境

$ vagrant up

2.使用ssh連線

$ vagrant ssh

3.斷開ssh連線

vagrant@precise64:~$ logout
Connection to 127.0.0.1 closed.

或者使用鍵盤ctrl+D
五、同步目錄
1.同步目錄
本地的專案根目錄即為虛擬環境中/vagrant目錄。

六、自動配置
1.自動配置指令碼,安裝apache。在vagrant目錄新建bootstrap.sh檔案

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
  rm -rf /var/www
  ln -fs /vagrant /var/www
fi

2.在配置檔案新增

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, path: "bootstrap.sh"
end

3.備註:新增bootstrap.sh指令碼之後,重啟虛擬機器自動指令碼也沒有生效,使用destroy命令之後,重新使用vagrant up之後,bootstrap指令碼生效了。
4.驗證是否成功
在專案根目錄新增index.html,並在ssh驗證:

$ vagrant ssh
...
[email protected]:~$ wget -qO- 127.0.0.1

七、配置網路
網路配置有三種方式:埠轉發、似有網路、橋接網路。
1.使用埠轉發

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 4567
end

2.使用內部網路(私有網路)

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network "private_network", ip: "192.168.33.10" #注意不要產生IP衝突
end

八、共享(對外訪問)
1.虛擬環境共享需要先下載ngrok:https://ngrok.com/download 並放到環境變數路徑下,我這裡放到了vagrant的bin目錄下。
2.其他使用者訪問虛擬環境的服務

$ vagrant share
...
==> default: Creating Vagrant Share session...
==> default: HTTP URL: http://b1fb1f3f.ngrok.io
...

九、多虛擬化應用支援
vagrant支援多種虛擬化環境, VirtualBox、VMware、AWS。可以使用引數選擇虛擬化軟體:

$ vagrant up --provider=vmware_fusion

十、打包分發
當你配置好開發環境後,退出並關閉虛擬機器。在終端裡對開發環境進行打包:

$ vagrant package

打包完成後會在當前目錄生成一個 package.box 的檔案,將這個檔案傳給其他使用者,其他使用者只要新增這個 box 並用其初始化自己的開發目錄就能得到一個一模一樣的開發環境了。
新增方法:
假設我們拿到的 box 存放路徑是 D:/box/package.box,在終端裡輸入:

$ vagrant box add test D:/box/package.box  # 新增 package.box 映象並命名為 test
$ cd D:/vagrant/dev  # 切換到專案目錄
$ vagrant init test  # 用 test 映象初始化。

相關推薦

vagrant新手入門

簡介 Vagrant是一個基於Ruby的工具,用於建立和部署虛擬化開發環境。 下面的安裝基於VirtualBox,開始之前需要先安裝VirtualBox。 一、安裝並初始化 1.下載vagrant安裝程式,並執行安裝。 2.重啟電腦之後,在dos命令列

問題集錄--新手入門深度學習,選擇TensorFlow 好嗎?

pan 思維 基本上 內存 自己的 gpu ati 其中 新手入門 新手入門深度學習,選擇 TensorFlow 有哪些益處? 佟達:首先,對於新手來說,TensorFlow的環境配置包裝得真心非常好。相較之下,安裝Caffe要痛苦的多,如果還要再CUDA環境下配合Open

Webpack新手入門教程(學習筆記)

自身 方式 pin 演示 要求 const 初學者 功能 plugins p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 }

新手入門編程

http inux com htm item 入門 編程 新手入門 5% Linux%E8%BF%90%E7%BB%B4%E5%B7%A5%E7%A8%8B%E5%B8%88%E9%9D%A2%E8%AF%95-%E5%9F%BA%E7%A1%80%E5%BF%85%E5%

ios開發之Swift新手入門

間距 cati rmi article ride edit ner .com 設置 1、關於swift和調試,swift在ios7.0才支持,ios8.3系統的真機必需要xcode6.3才幹調試。安裝xcode6.3需要os x 10.10以上 2、應用程序由Main.

Android新手入門2016(8)--ListView之ArrayAdapter

pos bject 了解 指定格式 pack extend line avi per 本文來自肥寶傳說之路,引用必須註明出處! ListView是Android中經常使用的控件。 什麽是列表視圖,讓我們先看看圖: 最常見的樣例就是各種菜單的下啦列表。 要實現列表,

Mybatis新手入門

ack state 插入 操作 one 文件 .org connect 新手 一丶Mybatis是什麽?   MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google cod

余天翼:短線投資五步走(新手入門

黃金 新手 在炒黃金地時候我們也可以進行短線投資.這樣做地目地是風險相對要小得多,當然,收益也相對要小很多,不過在炒黃金地時候,還是可以進行短,平,快地方式快速獲取利潤,減少風險,依靠頻繁地投資來獲得知識經驗和收益,也是一種不錯地選擇,可惜您可能會感覺比較累一點,如果希望進行短線投資地炒黃金者應該註意以下

Android新手入門2016(10)--GridView

分享 XML tar 技術分享 gravity watermark 垂直 代碼 out 本文來自肥寶傳說之路。引用必須註明出處! GridView跟ListView一樣是多控件布局。實現九宮圖是最方便的。 還是先看看圖,沒圖說個雞雞是不是 如上圖。

aNDROID新手入門水好深啊

android 新手 .com roi baidu ongl androi hao123 com %E8%B0%81%E5%9C%A8%E7%99%BE%E5%BA%A6pCs%E6%96%B9%E9%9D%A2%E6%98%AF%E9%AB%98%E6%89%8B%E5%

Git——新手入門與上傳項目到遠程倉庫GitHub

height repo 刷新 clas key 兩個 authent 提交 文件目錄 Git:先進的分布式版本控制系統,一個開源式的分布式版本控制工具。 Git安裝 在Windows操作系統下,訪問Git下載地址https://git-for-windows.git

JavaScript最佳新手入門系列(大話變量)

left col 新手入門 mcs com cti http href coo 533e讀2歡q侖誥4chttp://www.zcool.com.cn/collection/ZMTgzMjExMTI=.html 726n共4520xhttp://www.zcool.com.

awk 新手入門筆記

and count tin 顯示 使用 border date 用法 $1 轉自:http://www.habadog.com/2011/05/22/awk-freshman-handbook/ awk新手入門筆記 @作者 : habadog@郵箱 : [email&#

ThinkJS框架入門詳細教程(二)新手入門項目

logs connect 項目 目錄 itl 合並 sql文件 生產 js框架 一、準備工作 參考前一篇:ThinkJS框架入門詳細教程(一)開發環境 安裝thinkJS命令 npm install -g think-cli 監測是否安裝成功 thin

windows composer 安裝,使用新手入門

users repos lease targe sdn get https center term 一.前期準備: 1.下載安裝包,https://getcomposer.org/download/ 2.在php.ini文檔中打開extension=php_openssl

新手入門java比較常見的疑惑點(思想準備篇)

容易 得到 模板 面向對象思想 -s 新興 現在 封裝 mas 對於一些像入手java語言,基本上都會有一下幾個問題: Java就業環境怎麽樣? Java難學嗎? 數學不好、英語不好能學好Java嗎?等等   畢竟新興的語言也挺多的,如果真想選擇java只需要這個理由就

Linux新手入門:Unable to locate package錯誤解決辦法

錯誤解決 cat locate 學習 linux com 安裝 設置 錯誤信息 最近剛開始接觸Linux,在虛擬機中裝了個Ubuntu,當前的版本是Ubuntu 11.10,裝好後自然少不了安裝一些軟件,在設置了軟件的源後,就開始了 sudo apt-get install

Kaggle新手入門之路

data 下標 red 相關 頁面 相同 hist view afr 學完了Coursera上Andrew Ng的Machine Learning後,迫不及待地想去參加一場Kaggle的比賽,卻發現從理論到實踐的轉變實在是太困難了,在此記錄學習過程. 一:安裝Anaco

Gulp新手入門教程

out -m 開始 efault 指點 name converts 運行 path Gulp 是一個自動化工具,前端開發者可以使用它來處理常見任務: 搭建web服務器 文件保存時自動重載瀏覽器 使用預處理器如Sass、LESS

Clojure新手入門

heat eclips -m lan dex load min net .com 官方網站 clojure.org 環境安裝 Java(JDK) Leiningen 編輯工具 Eclipse插件 —— Counterclockwise IntelliJ插件 ——