Vagrant 搭建开发环境实践

简介: vagrant是一个命令行的虚拟机管理程序。用于简化搭建开发环境。vagrant使用ruby语言基于Chef 开发。需要配合其他虚拟机程序进行工作,如vmare、virualbox、hyper-v等。并通过 CLI和VagrantFile(配置文件)管理虚拟机的所有功能。vagrant 使用自己的镜像格式进行环境部署,即box。类似于虚机的iso或者docker中的镜像。

介绍

Development Environments Made Easy

—官网标题

vagrant是一个命令行的虚拟机管理程序。用于简化搭建开发环境。

vagrant使用ruby语言基于Chef 开发。需要配合其他虚拟机程序进行工作,如vmare、virualbox、hyper-v等。并通过 CLIVagrantFile(配置文件)管理虚拟机的所有功能。vagrant 使用自己的镜像格式进行环境部署,即box。类似于虚机的iso或者docker中的镜像。

选择vagrant+virualbox这个组合,因为它们都是开源的、跨平台的。vagrant搭建开发环境即简单又强大。

安装

官网下载安装。其中virualbox可选择安装

VirtualBox Extension Pack。使用虚拟机需要BIOS 开启虚拟化。

VirtualBox 官网

https://www.virtualbox.org/

Vagrant 官网

http://www.vagrantup.com/

BOX查找

https://app.vagrantup.com/boxes/search

几个场景

下面介绍几种vagrant 使用场景。所有步骤在WIN11系统下验证过。

1、一行命令搭建基本的开发环境

在CMD命令行下启动一个包含centos系统的虚拟机。其中"centos/7"是box名,root用户的默认密码是vagrant。真简单。

2、单机开发环境

目标是搭建一个少量定制的单机开发环境。需要使用CLI命令和配置文件来完成。

手动下载BOX

网速慢可以自己下载box文件,并添加到本地box库。

下载地址:

https://app.vagrantup.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box

box添加到本地库的命令

**初始化 **进入命令行,建立一个目录,用centos/7 box 初始化。

基本的配置文件 初始化后会在当前目录生成名为 Vagrantfile 的文件。以Ruby语言为格式。

常用命令

3、集群开发环境

目标是搭建一个运行在局域网中、包含多台物理机和虚拟机的集群环境。

思路是安装好公共box后,对其进行定制。打包成自定义box,分发到不同的物理机上部署。

使用vagrant的公共网络模式,为每个虚拟机在局域网分配固定IP,集群环境里的任意物理机和虚拟机可以直接互通。

初始化一个centos环境

定制环境

允许用户名密码链接SSH

使用vagrant ssh 链接虚拟机

修改配置项、允许密码登陆,并保存。

PasswordAuthentication yes

操作系统设置

设置阿里云Centos镜像源

安装Docker

自定义BOX

打包当前环境,默认名称package.box。加入本地库,取名base。

box本地仓库 默认路径 C:\Users\Administrator.vagrant.d\box

配置文件

部署集群环境

将打包好的自定义box和配置文件,复制到需要部署的各物理机,并且安装vagrant环境。

使用 vagrant box add 将box添加到物理机的本地库中。

使用 vagrant init base 初始化。

调整 Vagrantfile 并通过 vagrant up进行部署。

结语

扩展阅读vagrant的CLI、VagrantFile、插件、网络配置等可以在官网文档找到。

Documentation | Vagrant by HashiCorp (vagrantup.com)

相关文章
|
8月前
|
人工智能 Oracle jenkins
【Jenkins】新手安装、运行Jenkins(详细教学)
【Jenkins】新手安装、运行Jenkins(详细教学)
|
Ubuntu Linux 虚拟化
嵌入式Linux开发环境搭建之一---VMware Ubuntu安装教程(亲自实践)
嵌入式Linux开发环境搭建之一---VMware Ubuntu安装教程(亲自实践)
309 0
|
8月前
|
Ubuntu 网络安全 开发工具
OpenHarmony docker环境搭建
OpenHarmony docker环境搭建
201 0
|
程序员 网络安全 Ruby
利用vagrant快速搭建rails开发环境
利用vagrant快速搭建rails开发环境
92 0
|
弹性计算 安全 关系型数据库
从linux安装到完整项目部署到项目运行(全流程)
linux是一般用来部署项目。 安装linux操作系统,一般可以采用云服务器,和vmware软件虚拟机。前者需要购买,后者可以使用破解版。这里使用的是云服务器。[阿里云](https://account.aliyun.com/)(价格相对便宜,仅供学习使用,其它使用途径,买贵的)
1253 0
|
Linux
Vagrant 使用笔记
Vagrant 是什么?
157 0
Vagrant 使用笔记
|
NoSQL Java 关系型数据库
CentOS安装Java项目开发环境体验
使用了阿里云的服务器,完美安装了环境,而且学习到很多Linux的命令,真的是一次很不错的使用体验。
|
缓存 Linux Shell
Vagrant相关知识脑图
Vagrant主要点和例子、分类的脑图
1785 0
Vagrant相关知识脑图
|
监控 Ubuntu 应用服务中间件
ubuntu搭建nodejs生产环境——快速部署手册
为什么不用CentOS而用Ubuntu作为生产环境的运行平台?这个我也比较好奇,公司订的只能沿用传统,从使用成本的角度来说,此举也是值得肯定的。 测试环境 腾讯云 Ubuntu 16.04 阿里云 Ubuntu 16.
1659 0