Vagrant 構建 Linux 開發環境

来源:https://www.cnblogs.com/hackerer/archive/2018/12/11/10103133.html
-Advertisement-
Play Games

Vagrant 是一個簡單易用的部署工具,用英文說應該是 Orchestration Tool 。它能幫助開發人員迅速的構建一個開發環境,幫助測試人員構建測試環境, Vagrant 基於 Ruby 開發,使用開源 VirtualBox 作為虛擬化支持,可以輕鬆的跨平臺部署。 通俗的來說, 就是在本地 ...


Vagrant 是一個簡單易用的部署工具,用英文說應該是 Orchestration Tool 。它能幫助開發人員迅速的構建一個開發環境,幫助測試人員構建測試環境, Vagrant 基於 Ruby 開發,使用開源 VirtualBox 作為虛擬化支持,可以輕鬆的跨平臺部署。

通俗的來說, 就是在本地部署一個和 Linux 虛擬機上的同步文件夾, 這樣所有的操作都方便了許多

 

準備工作

 

部署環境

  1. 進入工作文件夾中

    file  

     

  2. 把下載的 box 鏡像包放到工作目錄下-這裡我以 Ubuntu.14.04 為例

    file  

     

  3. 打開終端進入工作目錄, 或者你可以在當前目錄按住 shift+滑鼠右鍵 可快速打開當前目錄的終端

    file  

     

  4. 我們執行 vagrant box list 可查看當前添加進 vagrant 的鏡像

  5. 如果沒有添加 box 鏡像, 我們執行 vagrant box add 系統名字 box鏡像 

    file  

     

  6. 這時候我們執行 vagrant box list 就可以查看我們添加的 box 鏡像

    file  

     

  7. box 鏡像添加到 vagrant 裡面後我們就可以執行 vagrant init 系統名 初始化, 初始成功後我們可以看見當前工作目錄下會生成一個 Vagrantfile 的配置文件

    file  

     

  8. 因為我們虛擬機預設只分配一個訪問外網的 IP, 項目使用的 IP 得手動設置打開 Vagrantfile 找到29行(我的配置文件在29行)設置一個私有 IP 

    file  

     

  9. 到這裡所有配置工作都完成了, 我們可以 vagrant up 正式啟動了, 啟動成功後會在當前目錄生成一個 .vagrant 的隱藏文件夾

    file  

     

  10. 在工作目錄中, 使用了 vagrant up 命令, 我們虛擬機會自動的幫我們配置一個系統, 然後自動後臺啟動, 以後都無須管理虛擬機 讓虛擬機在後臺玩兒去吧

    file  

     

  11. 我們可以在當前目錄使用 vagrant ssh 直接連接到虛擬機裡面, 也可以使用第三方工具進行連接如 PuttyXshell, IP 為我們剛剛在 Vagrantfile 配置文件中設置的私有 IP

    file  

     

    特別註意: 如果是第三方工具連接, 用戶名和密碼都是 vagrant

  12. 虛擬機裡面的 /vagrant 這個文件夾是和我們本地同步的文件夾

    file  

     

  13. 下麵我們就來看看vagrant神奇的地方, 我們在 /vagrant 同步文件夾裡面創建一個文件 a, 看看我們本地發生了什麼....., 同樣我們在本地把這個 a 文件刪除, 看看虛擬機裡面發生了什麼...

    file  

     

  14. 這樣我們以後從伺服器拉取下來的項目, 就可以直接在同步文件夾操作, 操作本地文件, 就相當於操作虛擬機, 目前已經有很多大型公司使用 vagrant, 因為這可以提升他們的開發效率
 

最後附上vagrant一些常用的命令

  • $ vagrant box add NAME URL #添加一個box
  • $ vagrant box list #查看本地已添加的box
  • $ vagrant box remove NAME virtualbox #刪除本地已添加的box,如若是版本1.0.x,執行$ vagrant box remove NAME
  • $ vagrant init NAME #初始化,實質應是創建Vagrantfile文件
  • $ vagrant up #啟動虛擬機
  • $ vagrant halt #關閉虛擬機
  • $ vagrant destroy #銷毀虛擬機
  • $ vagrant reload #重啟虛擬機
  • $ vagrant package #當前正在運行的VirtualBox虛擬環境打包成一個可重覆使用的box
  • $ vagrant ssh #進入虛擬環境
 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在之前有些過一篇文章 "《使用 DryIoc 替換 Abp 的 DI 框架》" ,在該文章裡面我嘗試通過以替換 內部的 來實現使用我們自己的 DI 框架。替換了之後我們基本上是可以正常使用了,不過仍然還存在有以下兩個比較顯著的問題。 1. 攔截器功能無法正常使用,需要重覆遞歸查找真實類型,消耗性能。 ...
  • 上一章我們通過kubectl run簡單運行了一個.netcore網站,但實際的開發中,我們都是通過yaml來實現的。 1.編寫yaml文件 關於yaml文件的格式在此就不多描述了,不熟悉的可以去網上搜一下示例。 2.運行yaml 我們可以查看創建出來的資源 我們可以查看一下我們指定的label 我 ...
  • Linux下經常出現permission denied,原因是由於許可權不足,有很多文章通過chmod命令更改許可權為777,但是很不方便也不適合新手,簡單粗暴的方法如下: 命令行中輸入 sudo passwd 他會提示你輸入新密碼,再次輸入密碼,就輸入以前的一樣的就行,成功之後,輸入 su root ...
  • 初識filebeat ...
  • 一、VM虛擬機添加一個網路適配器。 選擇自己需要的模式類型 二、啟動虛擬機,配置網卡 按原先配置網卡的方式配置完(ip地址及預設網關還有網卡名不能跟原先的一樣) 重啟所有網卡(service network restart)後檢查網卡 三、測試新增網卡環境 關閉原先網卡,檢查新增網卡是否能與外網鏈接 ...
  • 要瞭解Linux的許可權,需要和Linux的用戶與組的概念一併理解,不瞭解的同學請參考Linux的用戶和組 簡介 在Linux中,每個文件除了有用戶和組的信息以外,還有其對應的許可權。可使用來查看。 看第一個欄位的第二位至第十位,一共九位。 左三位(rw-):表示文件所有者的許可權。 中三位(r--):表 ...
  • 1、 top 看看哪個進程是罪魁禍首 2、將這個進程的jstack dump 到一個文件裡面,以備使用。 使用 sftp 弄到本地。 3、查看這個進程裡面哪些子進程, 按 P 鍵排序占用 CPU 的子進程 4、在 jstack.log 中搜索 65a1 ...
  • 今天出去面試,碰見一個面試題,說來也巧,又是劃分子網的問題,曾經花了一整個上午研究子網,算是研究透徹了,今天正好碰上順便分享下怎麼處理這個問題 面試官說好的給我一個鐘答題,實際給了我十五分鐘,原定的和HR視頻面試時間到了,還有兩個需要用英文簡述的題沒做,有點尷尬,英語太渣,廢話不多說,對於網路精英來 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...