1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          vagrant 的介紹與使用

          來源:互聯網轉載 時間:2024-01-29 08:07:03

          什么是vargrant?

          vagrant是一個構件虛擬開發環境的工具。他用于創建部署虛擬的開發環境;

          白話:使用vagrant來創建和管理虛擬機的,而裝虛擬機的文件由運維組對開發環境做的一個box的鏡像。?

          這樣做的目的,省去了我們搭建開發環境,直接裝一個虛擬機,把正在使用的開發環境的鏡像還原進去。?

          當然使用vagrant最主要解決的一個問題就是,讓開發環境同步?!按a在我機子上運行沒有問題”這種說辭將成為歷史。

          看下圖,其中,第一種是直接在物理機上裝 Hypervisor,然后再該層上安裝我們自己的虛擬機,第二種是先在物理機上裝任意一個操作系統,然后在此基礎上安裝 Hypervisor,再然后再該層上安裝我們自己的虛擬機,我們大部分用 Vmware 都是第二種,Vagrant就是第一種,微軟自帶的hyper-v ;

          vagrant 的構成

          • base box:vagrant使用的基礎鏡像文件,可以理解為Vagrant中使用的Linux的鏡像文件;
          • providers:鏡像文件安裝在哪個虛擬機上,vagrant 必須依賴于 Provide,Provide有:vmware、virtualbox、hyper-v,其中,vmware是收費,vartualbox是免費,推薦、hyper-v是微軟自帶的;
          • provisioners? 啟動時、啟動后,去執行一些shell腳本(如配置網絡、安裝軟件環境等)

          Vagrant 和 Docker 有什么區別?

          Vagrant 對應的是VM層面的,而Docker對應的是Container

          vagrant安裝

          1、安裝 providers,你有兩種選擇,vritualbox 和 hyper-v,如果你是window10及以上系統,那么建議使用hyper-v,否則請您使用 vartualbox

            如果是用微軟自帶的hyper-v,則你需要看:https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/about/;

            如果你是用virtualBox,則你需要安裝它,https://www.virtualbox.org/wiki/Downloads;vmware因為收費不推薦;

          2、安裝vagrant,https://www.vagrantup.com/downloads.html

          檢查是否成功安裝:vagrant --version

          通過vagrant安裝box鏡像

          離線方式(強烈推薦)

          1、下載box文件

          vagrant部署環境時,需要一個box文件。如果是在公司里面,可以從他們那里拷一個box文件安裝。這樣安裝的環境與他們是一致的。即模擬了一個開發環境。box文件也可以在網上下載。如:

          在 http://www.vagrantbox.es/? 或?https://app.vagrantup.com/boxes/search 上找到適合你自己的box,然后將box文件下載下來;

          2、把box文件添加到虛擬機

          新建一個目錄,將下載好的box鏡像文件丟入里面,在里面用poershell運行(需要管理員身份運行):

          //添加box鏡像文件到虛擬機中vagrant box add centosMix CentOS-7.1.1503-x86_64-netboot.box --provider=[hyperv|vertualbox]

          ?或者你也可以不用下載下來,而是通過:

          vagrant box add centosMix https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box 

          3、初始化虛擬機box文件

          # centosMix 是上面命令中我們自定義的虛擬機名稱vagrant init centosMix

          執行完上面的命令之后,可以在目錄下看到一個已經生成的vagrantFile文件。這是一個配置文件,里面包含該虛擬機的一些配置信息,其實就幾行而已,你可以去掉注釋后看到。?

          4、啟動虛擬機

          vagrant up --provider=hyperv --color      # 注意,安裝到hyper上而不是virtualbox中如果是 用virtualbox虛擬機的話,就寫成:vagrant up --provider=virtualbox --color

          ?注意輸出的信息,一般的,virtualbox的ip為127.0.0.1 端口為2222,而hyperv的ip為其顯示的ip,端口是22;

          ?判斷是否成功安裝:vagrant status

          進行完上面步驟后,就可以像使用服務器一樣,遠程到虛擬機了??梢允褂玫墓ぞ哂衳shell工具,winscp等工具。

          初始安裝的時候后,遠程的時候,使用的IP是127.0.0.1 端口號是2222(看輸出信息知道的)。這些信息可以后續在進行設置。如果嫌麻煩,也可以修改vagrantFile文件之后,在進行安裝。默認中的賬號密碼都為:vagrant

          在線方式(國內用戶不推薦)

          常用命令

          vagrant up

          啟動或創建(第一次)虛擬機

          vagrant stauts

          檢查虛擬機狀態

          vagrant ssh <name>

          通過ssh連接

          vagrant ssh-config

          查看ssh配置信息

          vagrant suspend/resume/reload/hat <name>

          暫停suspend / 重啟resume、重載reload、停止halt(停止的虛擬機需要 up 啟動)

          vagrant destroy <name>

          刪除/移除 虛擬機

          vagrant destroy -f       強制刪除所有虛擬機

          已經刪除的虛擬機,其所在的目錄中的?.vagrant 也最好刪除掉;

          .vagrant 的目錄結構

          > tree /FD:.│  Vagrantfile│└─.vagrant    ├─machines        虛擬機目錄    │  └─default         我們創建的虛擬機名稱,默認為default    │      └─hyperv          我們default虛擬機provider,為 hyperv,即:default虛擬機是通過 hyperv 創建的    │          │  action_configure    │          │  action_provision    │          │  action_set_name    │          │  box_meta    │          │  creator_uid    │          │  id    │          │  index_uuid    │          │  private_key            ssh的登陸密鑰key    │          │  synced_folders    │          │  vagrant_cwd    │          │    │          └─Virtual Hard Disks       虛擬機的磁盤文件    │                  generic-ubuntu2004-hyperv.vhdx    │    └─rgloader            loader.rb

          Box 文件目錄在哪兒?

          一般在 用戶目錄下的 .vagrant.d 目錄中:

          C:\Users\用戶名\.vagrant.d\
          C:\Users\用戶名\.vagrant.d>tree /FC:.│  insecure_private_key│  setup_version│├─boxes             // box就存放在這里│  ├─hyperv│  │  └─0│  │      └─hyperv│  │          │  info.json│  │          │  metadata.json│  │          │  Vagrantfile│  │          ││  │          ├─Virtual Hard Disks│  │          │      generic-ubuntu2004-hyperv.vhdx│  │          ││  │          └─Virtual Machines│  │                  box.xml│  │                  D90B1531-23A2-4D41-957F-8593E9356E69.vmcx│  │                  D90B1531-23A2-4D41-957F-8593E9356E69.vmgs│  │                  D90B1531-23A2-4D41-957F-8593E9356E69.VMRS│  ││  └─ubuntu│      └─0│          └─hyperv│              │  info.json│              │  metadata.json│              │  Vagrantfile│              ││              ├─Virtual Hard Disks│              │      generic-ubuntu2004-hyperv.vhdx│              ││              └─Virtual Machines│                      box.xml│                      D90B1531-23A2-4D41-957F-8593E9356E69.vmcx│                      D90B1531-23A2-4D41-957F-8593E9356E69.vmgs│                      D90B1531-23A2-4D41-957F-8593E9356E69.VMRS│├─data│  │  checkpoint_cache│  │  checkpoint_signature│  │  lock.dotlock.lock│  ││  └─machine-index│          index│          index.lock│├─gems│  └─2.7.4├─rgloader│      loader.rb│└─tmp        boxe1394d60c23f1a8b64cfb37d8591b8a521b31cdf

          vagrantfile文件的寫法

          box的名稱為 centos/7

          安裝后設置其hostname為vagrant-demo

          安裝的box版本為1905.1(注意:如果本地不存在該版本,會從網上拉取下來)

          每次配置 vagrantfile 好后,需要重新創建vagrant;

          更多配置前往:https://www.vagrantup.com/docs/vagrantfile?查看

          vagrant的ssh連接

          我們可以在 vagrantfile 目錄下使用命令 vagrant ssh 來登陸我們的虛擬機而不需要輸入用戶名和密碼,這是為什么?

          執行vagrant ssh 命令后,vagrant會找 當前目錄的.vagrant目錄中的private.key文件,來登陸對應的虛擬機;注意:public.key 在創建linux時被注入到linux中了;

          你也可以通過 vagrant ssh-config 來查看當前所在的虛擬機的信息;

          有些時候,我們需要通過用戶名密碼來登陸虛擬機中,而vagrant在安裝虛擬機時應將使用密碼來登陸的功能禁用了,vagrant的本意就是建議我們最好通過private_key來登陸虛擬機,但是我們就像用密碼,如何設置?

          1、先用 vagrant ssh 登陸我們的虛擬機中(也就是先用 private_key 登陸我們的虛擬機)

          2、在虛擬機中的 /etc/ssh/sshd_config 中,將?PermitRootLogin由no改為yes,保存

          3、重啟sshd服務:sudo service sshd restart

          4、完畢,你可以退出,然后使用賬號密碼(都為vagrant)登陸到虛擬機了;

          但是,我們還是建議你在生產環境中使用private_key來登陸到虛擬機中;

          使用ssh的技巧(推薦設置)

          我們輸入 vagrant ssh-config 命令,輸出的內容是可以被我們的ssh所使用的,也就是說,在任何目錄中都能夠快速的登陸到我們虛擬機中,而不需要先進入到 vagrantfile 目錄中;

          在??C:\Users\用戶名\.ssh\ 目錄中,新建一個 config 文件(如果不存在,注意沒有文件名后綴),將上面紅色框起來的內容復制到 config 文件中,修改 第一行 Host default,default 可以改為你熟悉的名字,比如這里是 hlinux;

          這樣,你就可以在任何目錄中使用? ssh hlinux 來直接登錄到虛擬機中了;

          注意:hyper-v 新建的虛擬機的ip地址是不固定的,可能會在你重啟電腦的時候變動,這時候使用 ssh hlinux 就無法登陸到虛擬機了,記得改ip即可;

          insecure_private_key

          所有創建出來的虛擬機,都可以使用 insecure_private_key 來連接到虛擬機中(vagrant在安裝虛擬機的時候創建一個public_key安裝在虛擬機中,對應的private_key就是:insecure_private_key? 了);

          insecure_private_key文件 存在哪里?

          C:\Users\用戶名\.vagrant.d\ 下

          但是,我們并現在并不能通過 insecure_private_key 來連接到虛擬機,因為在你安裝虛擬機時,vagrant會自己生成一個 一對private_key 和 public_key,public_key 注入到虛擬機,private_key 替換 insecure_private_key 了,如下圖:

          每臺虛擬機目錄中都有自己的 private_key文件:

          而我想要的是以后所有創建出來的虛擬機都是用統一的 insecure_private_key 來登錄,如何做?要想禁止 vagrant 去生成每個虛擬機自己的 key,就想是用?insecure_private_key,可以在每個 vagrantfile 中添加一句話:

          這樣,每次通過這個 vagrantfile 來生成虛擬機時,都不會生成自己獨有的 key,而是使用統一使用 insecure_private_key 文件來登錄到虛擬機中;

          上圖中已經沒有 生成替換使用自己的key的信息了;

          insecure_private_key 對應的 public_key 在虛擬中哪里呢?/home/vagrant/.ssh/authorized_keys,如下圖:

          一個vagrantfile創建多臺虛擬機并對每個虛擬機單獨設置

          上圖中配置了需要創建了兩臺虛擬機,第一臺名為 web,且設置hostname和box_version,第二臺名為 db,只設置了hostname,box_version將會使用全局的 1905.1 這個版本;

          使用循環來設置多臺虛擬機(更加靈活)

          hyper-v 同步文件夾

          宿主機的Vagrantfile所在的當前目錄同步到虛擬機中的 /vagrant 目錄中,同步的類型為smb

          下面代碼,是適配了 用 virtualbox 和 hyperv 兩種provider的文件同步:

          vagrant box 的操作(重要)

          vagrant box 的存放是在:C:\Users\用戶名\.vagrant.d\ 下的;

          命令:

          vagrant box list? ? ?列出所有已經安裝的box

          vagrant box add centos/7? ? 下載 centos/7 這個box

          vagrant box remove centos/7 [--provider=hyperv]? ?刪除centos/7這個box

          標簽:vagrant-
          下一篇:asdas

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          c230series 芯片組參數?英特爾Skylake-S-100系列/C230系列芯片組其實就是英特爾H110芯片組的主板,1151針,六代平臺的主板可以支持i7 6700K CPU,但是主板不支持超頻。I7 6700K CPU建議配Z170或Z270主板,支持超頻。c230芯片是什么主板?服務器C230芯片組,E3 1230V5專用主板芯片組,目前E3主板是華碩E3 PRO gaming V5...

          怎么登錄青驕第二課堂?首先點擊鏈接https://www.2-class.com/competition進入清教第二課堂官方網站后,電腦用戶點擊網站第一個登錄頁面進入賬號登錄界面,手機用戶點擊我的課程進入賬號登錄界面。2-class平臺怎么注冊?點擊flash場景右上角的【注冊】按鈕,進入注冊頁面,根據頁面要求填寫注冊信息,注冊成功。注意:不支持個人注冊帳戶。所有參與者的帳號和密碼均由學校管理員提...

          安徽界首市屬于哪個市 界首在安徽哪里?界首在哪里? 界首,安徽省縣級市,由阜陽市管理,位于安徽省西北部,又稱界溝和小上海。南接臨泉縣、阜陽,東接太和縣,西北與河南省沈丘、丹城交界。因南宋著名將軍劉琦失敗而得名??谷諔馉幤陂g,由于交通堵塞,界首沒有受到日軍的侵犯,上海、南京等城市的商人紛紛遷往界首。一度,人口急劇增加,商人聚集,貿易繁榮,因此被譽為小上海。首領歷史悠久,文化豐富。東漢時期,王莽和...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>