使用VirtualBox + Vagrant打造屬於自己的開發環境1
很多新進入公司的小夥伴估計都有這樣的經歷,剛進公司必定會配置公司產品執行所需的開發環境。配置環境對於剛入職場的新手來說,還是很有難度的。
Vagrant就是為了解決這個問題而存在的,通過Vagrant可以打造專有的開發環境。通過Vagrant配置好開發環境後,就可以打包開發環境進行分發了。新手只需拿到Vagrant包,執行幾個指令碼就完成了環境的配置。
而且這一切都是在虛擬機器中完成的,所以也不用擔心配置失敗而帶來的從裝系統的風險,我曾經就因為資料庫安裝失敗而重灌系統過。我想肯定不止我一個人有這樣的經歷。
配置步驟
安裝VirtualBox
虛擬系統執行在VirtualBox中,類似的工具還有VMware,但後者是收費的。
它支援多個平臺,請根據自己的情況選擇對應的版本。
安裝Vagrant
選擇最新的版本即可。
檢查安裝是否成功,執行命令:vagrant
檢視安裝版本,執行命令:vagrant -v
至此,基本的工具已經安裝完成了。
初始化Vagrant
安裝完成後,在想要搭建環境的目錄下執行命令vagrant init
在當前目錄下會生成一個Vagrantfile配置檔案,內容如下:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "base"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# sudo apt-get update
# sudo apt-get install -y apache2
# SHELL
end
修改配置引數:
config.vm.box = “base” 修改為config.vm.box = “hashicorp/precise32”
該引數的含義是虛擬機器使用什麼樣的映象,預設是base,我們將它修改為Ubuntu precise 32 VirtualBox
開啟配置:
# config.vm.synced_folder “../data”, “/vagrant_data”
將其修改如下:
config.vm.synced_folder “./projects”, “/projects”
該引數的含義是:使用當前目錄下的projects目錄作為專案目錄,它與虛擬機器的/projects目錄相對應,並且內容保持同步。
建立專案目錄projects
配置檔案中用到了當前目錄下的projects目錄,所以需要建立該目錄,不然啟動vagrant時會報錯。
mkdir ./projects
注:如果你安裝Vagrant時使用了sudo,那麼之後的所有vagrant命令前都需要加上sudo!!!
啟動Vagrant
經過上面的步驟後,就可以啟動Vagrant了,但是一般不推薦這樣做。
因為之前沒有下載好映象,所以第一次啟動時,會下載映象的,而且映象是從國外的伺服器下載,這樣會需要一個漫長等待的過程。
下面給出推薦的方法:
下載映象
官方封裝好的Ubuntu基礎映象:
將下載下來的映象檔案放在與Vagrantfile檔案同級目錄的file(如果沒有需要建立)資料夾中.
目錄如下:file/box/precise32.box
新增配置:
在Vagrantfile檔案中的config.vm.box配置之後新增如下配置:
config.vm.box_url = "./files/boxes/precise32.box"
配置完成之後,就可以啟動Vagrant了。
在當前目錄執行命令:vagrant up
至此,vagrant虛擬環境就啟動起來了。在當面目錄執行vagrant ssh
就能登陸到虛擬系統中。
在虛擬系統的/projects
中路中執行touch testfile
。建立一個測試檔案,然後進入到你自己的系統,Vagrantfile所在的目錄,進入到projects目錄中,你會發現存在一個testfile檔案。
我想你已經明白了vagrant的精髓之處,你可以在自己的系統中編輯程式碼,而在vagrant的虛擬系統中去執行程式碼,也就是說,你不用在自己的系統中安裝執行環境!
Windows 使用者注意:Windows 終端並不支援 ssh,所以需要安裝第三方 SSH 客戶端,比如:Putty、Xshell 等。
常用命令
$ vagrant init # 初始化
$ vagrant up # 啟動虛擬機器
$ vagrant halt # 關閉虛擬機器
$ vagrant reload # 重啟虛擬機器
$ vagrant ssh # SSH 至虛擬機器
$ vagrant status # 檢視虛擬機器執行狀態
$ vagrant destroy # 銷燬當前虛擬機器
至此,一個簡單的,垮平臺的vagrant開發環境就配置好了。但虛擬機器中卻什麼都沒有安裝,比如php,mysql,apache等。
在下一篇文章中,我會準備一些shell指令碼,使得在第一次啟動虛擬機器時,安裝好常用的或者是你所需要的所有軟體。當然,你也可以參考官方文件自己動手。
相關推薦
使用VirtualBox + Vagrant打造屬於自己的開發環境1
很多新進入公司的小夥伴估計都有這樣的經歷,剛進公司必定會配置公司產品執行所需的開發環境。配置環境對於剛入職場的新手來說,還是很有難度的。 Vagrant就是為了解決這個問題而存在的,通過Vagrant可以打造專有的開發環境。通過Vagrant配置好開發環境
快速打造自己開發環境 vagrant + virtualbox
工欲善其事必先利其器,開發環境 和 開發工具 就是 我們開發人員的劍,所以我們需要一個快並且好用的劍 剛開始做開發的時候的都是把開發環境 配置在 自己的電腦上,隨著後面我們接觸的東西越來越多,慢慢的電腦上都是各種環境了,php,java,python,nodejs等等,非常麻煩,並且經常由於某種原因就把電腦重
vagrant特性——基於docker開發環境(docker和vagrant的結合)-1-基本使用
Docker vagrant提供了使用Docker作為provider(其他的provider有virtualBox、VMware\hyper-V等)的開箱即用支援。這允許你的開發環境由Docker容器而不是虛擬機器支援。此外,它為開發dockerfile提供了一個良好的工作流。 Docker Basic
vagrant特性——基於docker開發環境(docker和vagrant的結合)-1-簡介
原文https://www.hashicorp.com/blog/feature-preview-docker-based-development-environments Feature Preview: Docker-Based Development Environments vagrant 1.6
第六章(1.2)自然語言處理實戰——打造屬於自己的中文word2vector工具
一、環境 二、實戰演練 訓練語料source.txt 9月12日隨著頒獎典禮的結束,我院獲得了商委系統運動會系列活動之一——足球比賽的季軍,本次比賽立時十天,十二隻球隊分成兩個小組比賽。我院代表隊以小組第二名的成績出現,在和另一小組第二名石油公
用Android-X86和VirtualBox打造高效能Android開發環境
不知道有多少Android開發著對Android虛擬機器的那悲劇的效能有意見,反正我的看法是:那速度實在是太坑爹了! 為什麼Android虛擬機器比iOS和WP7的虛擬機器要慢很多呢?原因如下: 1. Android 模擬器模擬的是 ARM 的體系結構(arm-ea
sublime集成MinGW,打造C/C++開發環境
sub printf cts brush 而且 log target 新建 配置 MinGW是是將GCC編譯器和GNU Binutils移植到Win32平臺下的產物,包括一系列頭文件(Win32API)、庫和可執行文件。MinGW是從Cygwin(1.3.3版)基礎上發展而
使用Vagrant搭建本地python開發環境
lac setting folders ins share www. 連接 placed devops 使用Vagrant搭建本地python開發環境 關於vagrant:Vagrant是一個基於Ruby的工具,用於創建和部署虛擬化開發環境,它使用Oracle的開源Vir
iOS打造屬於自己的用戶行為統計系統
不可 全部 pop cto objective ont ole nts markdown ??打造一款符合自己公司需求的用戶行為統計系統,相信是非常多運營人員的夢想,
Scrapy爬蟲學習筆記 - windows下搭建開發環境1
ima 搭建開發環境 環境 navicat win pyc arm bsp mysql 一、pycharm的安裝和簡單使用 二、mysql和navicat的安裝和使用 三、wi
使用ViewDragHelper打造屬於自己的DragLayout(抽屜開關 )
true header 限制 open() flat 重寫 support 重要 red 使用ViewDragHelper打造屬於自己的DragLayout(抽屜開關
酷斃了!python用37行代碼打造屬於自己的音樂播放器,附源碼
python 爬蟲 音樂 代碼想不想手動打造一款專屬於你的播放器,同時練練Python編程? 如果想,那就立即行動吧! 所需庫pygametkintermutagen 至於它們的使用,可以瀏覽一下文檔,如果你想做更功能強大的播放器,那必須好好看看哦! 設計思路作為版本0,我們並不想做太復雜的項目。只需實現以下
用爬蟲和Flask打造屬於自己的電影網站,完整教程送上!
alt mysql服務器 學習 安裝 友好 點擊 沒有 網易 sql安裝 也許你曾經為了一部電影找遍全網卻沒發現任何有用的資源,也許你曾經被披著電影外衣的網站忽悠進去而染上×××病毒。一部小小的電影搞得你心力交瘁,懷疑人生。不過,作為一名合格的程序員,一向以write th
ORACLE 全綠色版的PL/SQL和Oracle客戶端配置-打造綠色Oracle開發環境
全綠色版的PL/SQL和Oracle客戶端配置-打造綠色Oracle開發環境 我的環境: win7 64 Oracle 10g伺服器、也有11g的,都可以用。 1、準備軟體 PL/SQL Developer 9.0.5.1648 綠色版註冊版 instantclient-basi
PyCharm專業版+Django搭建web開發環境———1
PyCharm專業版+Django搭建web開發環境-1 PyCharm專業版可以直接通過Django來建立專案: 先說一下專業版簡單的吧: 開啟pycharm專業版 左上角的
android開發環境-- 1 夜神模擬器連線及資料庫匯出
啟動夜神模擬器的開發者選項 進入螢幕上的[設定],如圖 2,進入[關於平板電腦],如圖 3,點選5次[版本號] 4,退回到[設定]目錄,會看到[開發者選項],如圖 5,進入[開發者選項],選中[USB除錯],或選擇其他需要選項,如圖
第2講如何打造屬於自己的工程師文化
有的技術管理者遇到到這樣的問題,招聘的時候每個成員都是特別棒的,為什麼進入公司幾個月後精英個人都變成變成了平凡的,整體團隊產出也不理想。這是為什麼呢? 文化是什麼 谷歌 亞馬遜 facebook 等都有很強的工程師文化,以亞馬遜為例,它的工程師文化包括:通過解決問題來改造世界、基於事實與科學
JAVA Socket通訊 打造屬於自己的網盤
近一個月沒敲JAVA程式碼了,最近老師佈置了一個寫JAVA網盤的作業,總共花了十幾個小時,總算寫完了,debug真的累,感覺自己還是菜了,沒有那種有一個想法就能馬上用程式碼實現的能力。。。。不扯了,下面開始正題。 功能介紹 支援1個客戶端,1個伺服器端。伺服器提供網盤空間。 首先執行
JAVA Socket通信 打造屬於自己的網盤
文件 content rac msg ring indexof truct stack ren 近一個月沒敲JAVA代碼了,最近老師布置了一個寫JAVA網盤的作業,總共花了十幾個小時,總算寫完了,debug真的累,感覺自己還是菜了,沒有那種有一個想法就能馬上用代碼實現的能
JAVA-Socket通訊 打造屬於自己的聊天室(初級版)
我們每天都在使用著微信、QQ等聊天軟體,但不知你是否有想過這些聊天軟體是如何實現的?是否想過要製作一個屬於自己的聊天室? 本篇部落格將帶你打造一個簡單的屬於自己的聊天室,將cmd作為聊天視窗,可通過內網,與周圍的小夥伴相互通訊,當然也可以掛到伺服器上,實現通過外網的通訊。同時還能通過服務端視窗對連入的使用者