基于vagrant搭建跨平台的开发环境

2024-08-29 10:38

本文主要是介绍基于vagrant搭建跨平台的开发环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于vagrant搭建跨平台的开发环境

一、为什么我们需要vagrant

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 主要使用Oracle的开源VirtualBox虚拟化系统(目前也支持vmware),使用 Chef创建自动化虚拟环境。

基于Vagrant我们可以快速的搭建跨平台的开发环境,在windows、mac和linux下拥有相同的开发环境。不用担心这个组件只能运行在linux生产环境的问题。这样只要老司机配置好一个稳健的开发环境box,其他人都能受益其中。

二、安装过程

  1. 下载安装vagrant。

    外网下载地址:https://www.vagrantup.com/downloads.html

    安装提示一步步来即可,mac不需要配置环境变量,windows的同学可能需要配置下环境变量

  2. 安装virtualbox

    https://mirror.tuna.tsinghua.edu.cn/virtualbox/ 清华的源会快点,建议不要版本太高

  3. 环境验证

    vagrant --version 
    VBoxManage --version
    ssh -V

    建议版本是:

    vagrant:1.8.1

    virtualbox:5.0.14

    Ssh:无限制

  4. 导入老司机的box

    老司机的box名(box_made_in_tripwiki.org.box),自定义镜像名(my_box)

    vagrant box add my_box box_made_in_tripwiki.org.box

    老司机的box(box_made_in_tripwiki.org.box)中可以装上复杂的lamp、各种类库、消息队列等基础环境,自己不用换个环境就要动手搞这些,想想真是舒畅。

  5. 初始化环境

    
    # 进入你们的工作目录cd ~/vagrant/my_dev# 初始化vagrantvagrant init my_box# 登录启动环境,最容易出问题vagrant up# 登录环境vagrant ssh

  6. 运行环境

    cd ~/vagrant/my_dev
    mkdir my_proj# vagrant 此时挂载目录也会有对应的目录# 简单测试下网络端口python -m SimpleHTTPServer 8111# 打开宿主开发机的浏览器,发现访问不了,此时需要修改下vagrantfile的配置信息
    
  7. 修改vagrantfile配置文件

    网络映射修改:

    config.vm.network :forwarded_port, guest: 8111, host: 8111# 加一层网络转发
    

    vagrant reload 重启vagrant,再打开浏览器,即可看到我们启动的http服务


vagrantfile里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些基础配置。Vagrant是使用Ruby开发的,所以它的配置语法也是Ruby的,但是我们没有学过Ruby的人还是可以跟着它的注释知道怎么配置一些基本项的配置。

  1. vagrant常用命令
$ vagrant init  # 初始化
$ vagrant up  # 启动虚拟机
$ vagrant halt  # 关闭虚拟机
$ vagrant reload  # 重启虚拟机
$ vagrant ssh  # SSH 至虚拟机
$ vagrant status  # 查看虚拟机运行状态
$ vagrant destroy  # 销毁当前虚拟机

三、vagrant的一些思考

其实vagrant本身并没有做虚拟化工作,它所做的这些只是简化了我们对virtualbox的操作,将虚拟化服务做到开箱即用。

这篇关于基于vagrant搭建跨平台的开发环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117627

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d