Vagrant 搭建開發(fā)環(huán)境實踐
介紹
Development Environments Made Easy
—官網(wǎng)標(biāo)題
vagrant是一個命令行的虛擬機管理程序。用于簡化搭建開發(fā)環(huán)境。
vagrant使用ruby語言基于Chef 開發(fā)。需要配合其他虛擬機程序進(jìn)行工作,如vmare、virualbox、hyper-v等。并通過 CLI和VagrantFile(配置文件)管理虛擬機的所有功能。vagrant 使用自己的鏡像格式進(jìn)行環(huán)境部署,即box。類似于虛機的iso或者docker中的鏡像。
選擇vagrant+virualbox這個組合,因為它們都是開源的、跨平臺的。vagrant搭建開發(fā)環(huán)境即簡單又強大。
安裝
官網(wǎng)下載安裝。其中virualbox可選擇安裝
VirtualBox Extension Pack。使用虛擬機需要BIOS 開啟虛擬化。
VirtualBox 官網(wǎng)
https://www.virtualbox.org/
Vagrant 官網(wǎng)
http://www.vagrantup.com/
BOX查找
https://app.vagrantup.com/boxes/search
幾個場景
下面介紹幾種vagrant 使用場景。所有步驟在WIN11系統(tǒng)下驗證過。
1、一行命令搭建基本的開發(fā)環(huán)境
在CMD命令行下啟動一個包含centos系統(tǒng)的虛擬機。其中"centos/7"是box名,root用戶的默認(rèn)密碼是vagrant。真簡單。
2、單機開發(fā)環(huán)境
目標(biāo)是搭建一個少量定制的單機開發(fā)環(huán)境。需要使用CLI命令和配置文件來完成。
手動下載BOX
網(wǎng)速慢可以自己下載box文件,并添加到本地box庫。
下載地址:
https://app.vagrantup.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box
box添加到本地庫的命令
**初始化 **進(jìn)入命令行,建立一個目錄,用centos/7 box 初始化。
基本的配置文件 初始化后會在當(dāng)前目錄生成名為 Vagrantfile 的文件。以Ruby語言為格式。
常用命令
3、集群開發(fā)環(huán)境
目標(biāo)是搭建一個運行在局域網(wǎng)中、包含多臺物理機和虛擬機的集群環(huán)境。
思路是安裝好公共box后,對其進(jìn)行定制。打包成自定義box,分發(fā)到不同的物理機上部署。
使用vagrant的公共網(wǎng)絡(luò)模式,為每個虛擬機在局域網(wǎng)分配固定IP,集群環(huán)境里的任意物理機和虛擬機可以直接互通。
初始化一個centos環(huán)境
定制環(huán)境
允許用戶名密碼鏈接SSH
使用vagrant ssh 鏈接虛擬機
修改配置項、允許密碼登陸,并保存。
PasswordAuthentication yes
操作系統(tǒng)設(shè)置
設(shè)置阿里云Centos鏡像源
安裝Docker
自定義BOX
打包當(dāng)前環(huán)境,默認(rèn)名稱package.box。加入本地庫,取名base。
box本地倉庫 默認(rèn)路徑 C:\Users\Administrator.vagrant.d\box
配置文件
部署集群環(huán)境
將打包好的自定義box和配置文件,復(fù)制到需要部署的各物理機,并且安裝vagrant環(huán)境。
使用vagrant box add將box添加到物理機的本地庫中。
使用vagrant init base初始化。
調(diào)整 Vagrantfile 并通過vagrant up進(jìn)行部署。
結(jié)語
擴展閱讀vagrant的CLI、VagrantFile、插件、網(wǎng)絡(luò)配置等可以在官網(wǎng)文檔找到。
Documentation | Vagrant by HashiCorp (vagrantup.com)
版權(quán)聲明:本文內(nèi)容轉(zhuǎn)發(fā)自阿里云社區(qū),由阿里云實名注冊用戶自發(fā)貢獻(xiàn)!版權(quán)歸原作者所有。本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本文中有涉嫌抄襲的內(nèi)容,請聯(lián)系站內(nèi)客服,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。
