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)

相关文章
|
17天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
154 2
|
4月前
|
关系型数据库 Linux 数据库
如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?
本文指导用户如何在Linux服务器上使用Docker Compose部署Halo博客系统。首先确保拥有Linux服务器并安装Docker及Docker Compose。接着创建文件夹(例如`~/halo`),用于存放所有Halo相关数据。可以选择不同的Halo Docker镜像源,推荐使用具体版本而非`latest`标签以避免误操作。示例中提供了三种`docker-compose.yaml`配置方法:Halo+PostgreSQL、Halo+MySQL以及使用默认的H2数据库。每种配置都包括网络设置、健康检查和环境变量。
203 1
|
6月前
|
NoSQL Java Linux
Linux的环境安装以及项目部署
Linux的环境安装以及项目部署
|
6月前
|
人工智能 Oracle jenkins
【Jenkins】新手安装、运行Jenkins(详细教学)
【Jenkins】新手安装、运行Jenkins(详细教学)
|
jenkins Java Linux
手把手带你linux下搭建jenkins
手把手带你linux下搭建jenkins
190 1
|
jenkins Java Linux
【Linux】云服务器自动化部署VuePress博客(Jenkins)
【Linux】云服务器自动化部署VuePress博客(Jenkins)
316 0
【Linux】云服务器自动化部署VuePress博客(Jenkins)
|
程序员 网络安全 Ruby
利用vagrant快速搭建rails开发环境
利用vagrant快速搭建rails开发环境
80 0
|
SQL Java 关系型数据库
手把手带你部署Java项目到Linux服务器
手把手带你部署Java项目到Linux服务器
984 1
手把手带你部署Java项目到Linux服务器
|
jenkins Java 应用服务中间件
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
上一篇对jenkins有了大致了解之后,那么我们就开始来安装一下jenkins。
273 0
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
|
运维 Ubuntu Linux
手把手教你安装Linux虚拟机
手把手教你安装Linux虚拟机
699 1
手把手教你安装Linux虚拟机
下一篇
无影云桌面