1. 程式人生 > >vagrant系列一:vagrant的安裝與初識

vagrant系列一:vagrant的安裝與初識

一個月沒有更新過了。三月份終於把設計模式看完了,自己也寫了一些設計模式的基礎程式碼。也用到了幾個設計模式到自己的專案中。
今天當然不是來說設計模式的,先說說這段時間學到的一個新東西。vagrant,其實之前在用laravel的時候,就知道了這麼個東西,一直覺得xampp挺好呀,幹嘛還要費神去搞這麼個東西呢?
最近研究了一下,一下子就被其美貌所迷惑,不能自拔,今天先講講vagrant的基本知識,後續陸續會更新基於vagrant搭建的php7環境(box我都已經制作好,上傳到百度雲了,就等分享)、go環境、hadoop等。

實際上Vagrant只是一個讓你可以方便設定你想要的虛擬機器的行動式工具,它底層支援VirtualBox、VMware甚至AWS作為虛擬機器系統,本書中我們將使用VirtualBox來進行說明,所以第一步需要先安裝Vagrant和VirtualBox。

安裝環境:mac
注:windows環境下,基本一致

安裝VirtualBox

安裝Vagrant

網上有說什麼使用gem命令來安裝的,建議大家別進這個坑了,直接到官網 https://www.vagrantup.com/downloads.html 下載最新的vagrant,然後雙擊安裝,也是一路傻瓜化,就不說。
在windows下安裝vagrant,為了寫入相應配置到環境變數,可能會要求重新啟動一下系統。

如何配置Vagrant

下載一個合適的box

進行完以上步驟後,就需要考慮我們的虛擬機器需要使用什麼作業系統了,我這裡會以CentOs7.0為例。在以前使用vm的過程中,我們需要自己去下載映象,然後進行相關的安裝,設定系統等等操作。而vagrant的開源社群,提供了很多已經打包好的作業系統,在vagrant的世界裡被稱為box。在

http://www.vagrantbox.es/ 這裡你可以找到你想要的作業系統box,當然你也可以自己製作一個。後續教程會講到,這裡就不多說。

完成一個box的安裝

我的開發機是Mac,所以我建立了如下的開發環境目錄:

$ /Users/helei/vagrant
$ cd /Users/helei/vagrant

本來,vagrant提供的線上安裝,非常便利,但是無奈我國有非常NB的gfw,我為了速度,就先翻牆出去把box下載到本地,然後再進行安裝。

$ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up

vagrant box add 是新增box的命令
其中{title}可以自行設定,我這裡使用的是 centos7 ,{url}是下載到本地box路徑。我的路徑是:/Users/helei/vagrant/centos-7.0-x86_64.box

下面把一些命令執行後的輸出進行展示,方便大家比對:

# 安裝box
$ vagrant box add CentOs7 /Users/helei/vagrant/centos-7.0-x86_64.box

輸出內容:

Downloading or copying the box...
Extracting box...te: 47.5M/s, Estimated time remaining: --:--:--)
Successfully added box 'base' with provider 'virtualbox'!

box中的映象檔案被放到了:/Users/helei/.vagrant.d/boxes/,如果在window系統中應該是放到了: C:\Users\當前使用者名稱.vagrant.d\boxes\目錄下。

# 如果是才add 的box,就必須執行本步驟,初始化一次後,以後啟動系統,就不需要執行本步驟。
$ vagrant init CentOs7

輸出內容:

A `Vagrantfile` has been placed in this directory.
You are now ready to `vagrant up` your first virtual environment!
Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.

這樣就會在當前目錄生成一個 Vagrantfile的檔案,裡面有很多配置資訊,後面我在慢慢說,預設不做任何配置改動,也是可以啟動系統的。

# 啟動系統
$ vagrant up

輸出內容:

Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'base'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
...

ssh連結到安裝的虛擬機器

經過以上操作後,完成了虛擬機器的安裝,現在需要登入上虛擬機器,進行操作。連結很簡單,可以使用第三方(xshell等)shell工具或系統自帶的,進行登入
在系統中,如mac,可直接使用 vagrant ssh 來完成連結。或者使用第三方如xshell,ip地址是:localhost,埠,需要觀察,對映的22埠是多少。一般是2200 或者2222
使用者名稱與密碼均是: vagrant

vagrant的命令詳解

命令 作用
vagrant box add 新增box的操作
vagrant init 初始化box的操作,會生成vagrant的配置檔案Vagrantfile
vagrant up 啟動本地環境
vagrant ssh 通過 ssh 登入本地環境所在虛擬機器
vagrant halt 關閉本地環境
vagrant suspend 暫停本地環境
vagrant resume 恢復本地環境
vagrant reload 修改了 Vagrantfile 後,使之生效(相當於先 halt,再 up)
vagrant destroy 徹底移除本地環境
vagrant box list 顯示當前已經新增的box列表
vagrant box remove 刪除相應的box
vagrant package 打包命令,可以把當前的執行的虛擬機器環境進行打包
vagrant plugin 用於安裝解除安裝外掛
vagrant status 獲取當前虛擬機器的狀態
vagrant global-status 顯示當前使用者Vagrant的所有環境狀態

下一篇,主要講vagrant的配置,已經如果通過配置檔案,實現多臺虛擬機器的啟動,可以用這種方式搭建hadoop的環境額。

相關推薦

vagrant系列vagrant安裝初識

一個月沒有更新過了。三月份終於把設計模式看完了,自己也寫了一些設計模式的基礎程式碼。也用到了幾個設計模式到自己的專案中。 今天當然不是來說設計模式的,先說說這段時間學到的一個新東西。vagrant,其實之前在用laravel的時候,就知道了這麼個東西,一直覺得

vagrant系列vagrant的配置檔案vagrantfile詳解

上一篇文章完整的講敘瞭如何安裝一個vagrant的環境。這裡主要說一說vagrant的配置檔案Vagrantfile。我在嘗試各種技術的時候,常常苦惱於很多時候沒有教程把相關的配置資訊說明完整。所以在我的部落格裡,我一定會完整的把這塊給補上。 一 配置詳解

vagrant系列Vagrant使用中遇到的坑

遇到的問題 之前寫了一系列的vagrant使用教程,當時寫這個教程的時候實在windows的環境下。最近再mac上使用,遇到了一些麻煩。 原文章路徑 今天最想說的一個問題就是許可權的問題。 在windows中由於沒有檔案許可權的概念,所有當我們共享目錄後

騰訊雲系列Centos7安裝 Oracle 11g EX 遠端連線 超簡單哦!

關鍵字加紅:難看死了Oracle oracle Linux linux mysql Mysql 資料庫 引言   相比2g+的完整版的oracle,xe的rpm包只有308M大小,要求最低記憶體是2

SonarQube系列、Linux安裝部署

【前言】 隨著專案團隊規模日益壯大,專案程式碼量也越來越多。且不說團隊成員編碼水平層次不齊,即便是老手,也難免因為程式碼量的增加和任務的繁重而忽略程式碼的質量,最終的問題便是bug的增多和程式碼債務的堆積。因此,程式碼review便日益提上了日程。當然人工review的效率還是相當低下的,於是我們採用了自動

ES系列()編譯準備server啟動過程解析

  ES作為強大的和流行的搜尋引擎服務元件,為我們提供了方便的和高效能的搜尋服務。在實際應用中也是用得比較爽,但如果能夠更深入一點。雖然網上有許多的文章已經完整說明,ES是如何如何做到高效能,如何做到高可用的,以及有許多的避坑指南。那些,畢竟還是太描述化。   就讓我們以原始碼作為出發點,一探ES究竟吧,雖然

腳手架vue-cli系列安裝規範

我很喜歡Vue的一個重要原因就是因為它的vue-cli,這個工具可以讓一個簡單的命令列工具來幫助我快速地構建一個足以支撐實際專案開發的Vue環境,並不像Angular和React那樣要在Yoman上找適合自己的第三方腳手架。vue-cli的存在將專案環境的初始化工作與複雜度降到了最低。 1.安裝vue-cl

vagrant系列(1)使用vagrant線上/離線安裝centos7

Vagrant是一款用來構建虛擬開發環境的外掛工具,可以簡化虛擬機器配置和管理。它底層支援VirtualBox、VMware、AWS等,非常適合使用php/python/ruby/java語言開發web應用,“程式碼在我機子上執行沒有問題”這種說辭將成為歷史

webpack漸入佳境系列webpack環境配置打包基礎【附帶各種 "坑" 解決方案!持續更新中...】

utf 環境配置 lan 配置 要求 完全 需要 構建 樣式 首先介紹傳統模塊化開發的主流方案: 1.基與CMD的sea.js,玉伯提出的解決方案,據說原來京東團隊在使用。用時才定義,就近加載。最近在瀏覽seajs官方文檔時發現seajs的域名已經在轉賣,驚恐萬分之余又想

Exchange Server 2016安裝部署系列Exchange 簡述,環境需求及部署規劃

exchange 2016 先決條件 exchange 2016 準備ad和 exchange 2016 郵箱服務 exchange 2016 安裝 exchange 邊緣服務器部署 Exchange Server 2016簡述MicrosoftExchange Server 2016

Spring4學習筆記環境搭建插件安裝

str nag j2e 容器 獲取 相關 market 至少 ips 一:環境搭建 1:開發環境:JDK安裝、Eclipse安裝 2:數據庫:Mysql、Sequel Pro(數據庫可視化操作工具) 3:web服務器:Tomcat下載,並且把tomcat配置到Eclip

[ 搭建Redis本地服務器實踐系列 ] 圖解CentOS7安裝Redis

文章 centos服務 安裝redis 基本 虛擬 http 16px entos 自己 一章 [ 搭建Redis本地服務器實踐系列 ] :序言 作為開場白介紹了下為什麽要寫這個系列,從這個章節我們就開始真正的進入正題,開始搭建我們本地的Redis服務器。那麽關於Redis

elasticsearch系列elasticsearch(ES簡介、安裝&配置、集成Ikanalyzer)

ins 表示 吞吐量 search 工作 use art tcp傳輸 .net 一、ES簡介 1. ES是什麽? Elasticsearch 是一個開源的搜索引擎,建立在全文搜索引擎庫 Apache Lucene 基礎之上 用 Java 編寫的,它的內部使用 Lucene

Docker系列Docker的介紹和安裝

實驗 start ner min docker-ce 周期 com set 自動化測試 Docker介紹 Docker是指容器化技術,用於支持創建和實驗Linux Container。借助Docker,你可以將容器當做重量輕、模塊化的虛擬機來使用,同時,你還將獲得高度的靈活

Django學習筆記(環境安裝簡單實例

rom dex ftime not host 名稱 本機 turn perl Django學習筆記(一):環境安裝與簡單實例 通過本文章實現: Django在Windows中的環境安裝 Django項目的建立並編寫簡單的網頁,顯示歡迎語與當前時間 一、環境安裝 結合版

兩小時eclipse入門idea系列idea的下載安裝破解一條龍服務

寫在前面:人總是有惰性的,也總會為惰性找到一個合理的藉口。比如我,一直以來都用著eclipse,各種配置信手拈來,不管別人怎麼吹捧idea,就不想去用,覺得eclipse就挺好,為啥要去重新熟悉一個陌生的工具?可是今天,好奇心驅動著吃了屎的心情去研究了一下子idea,以此為記。 1、下載idea

Docker學習筆記Docker簡介安裝

Docker是什麼? docker是一個開源的軟體部署解決方案; docker也是輕量級的應用容器框架; docker可以打包、釋出、執行任何的應用。 Docker是一個開源的引擎,可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中

ArcGIS Server10.5系列安裝和配置

前言 安裝ArcGIS Desktop10.5是單獨下的一個破解包。未包含ArcGIS Server安裝包以及授權檔案。 於是又在這裡下到一個找到了包含ArcGIS Server的Enterprise版本。 為了防止上述連結失效,這裡再次提供網盤Enterprise包以及ecp授權檔

Redis系列():Redis的簡介安裝

什麼是 Redis Redis 是一個使用ANSI C 編寫的開源、支援網路協議、基於記憶體、可選永續性的鍵值對資料庫,它是一個NOSQLnot only sql)資料庫,也就是常說的非關係型資料庫。從 2005 年開始,Redis 的開發由 Redis Labs 贊助,之前一直被 Pivotal 和

.Python安裝初識

 Python安裝與初識   Python初識     python的優勢:開發效率高