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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...