【实战记录】 vagrant+virtualbox+docker 轻松用虚拟机集成组件

用途

最近要学一大堆组件,不想直接安装本机上,然后gpt说:你可以用vagrant起个虚拟机(然后docker拉取各种组件的镜像);或者k8s

实战的整体思路

首先安装virtualbox和vagrant。然后cmd依次键入三条命令

安装虚拟机

vagrant init centos/7

启动虚拟机

vagrant up

连接虚拟机

vagrant ssh

简明版教程到此结束,接下来你就可以在windows的cmd里面使用虚拟机了。

对了还有个优雅关闭虚拟机的命令(在那之前你需要输入exit,才虚拟机中退出)

关闭虚拟机

vagrant half

技术选型理由

想知道其中细节(坑,请往下看。我会都告诉你。

为什么选择虚拟机

这是我的理由,你的理由是什么呢?欢迎在评论区分享

今天的目的是集成zookeeper

但不想直接在本机安装

公司电脑不让安装docker desktop

搜了gpt说是k8s或者 vagrant结合virtualbox

为什么引入vagrant

因为只是virtualbox的话,用户玩不明白,引入一个辅助我们去玩的应用vagrant。

不安装vagrant就是自己去网上找镜像来导入安装。

一般就是安了virtualbox之后,就是找各种镜像,然后iso导入,然后又是图形界面,有事很久很久,又是配时区配中文配这配那,启动又慢,流程又长(对于博主本人来说是这样的),很长久的一段时间,起个虚拟机都让我叫苦不迭。因为可能是镜像文件找错了,或者跟着网上哪一布教程走错了,增强功能安装失败(那我要图形界面干什么?)

为什么选择centos

我们安装centos,你要问我为什么不安装ubuntu

因为安了之后,我没有找到相关的教程让我把apt(安装工具)的仓库地址很好地配起来,导致没有办法安装docker

然后yum(也是一个安装的命令)也不完美适用于ubuntu,也是要配仓库地址,这个相关教程也很少,自己探索了许久,甚至把ubuntu版本对应名称这种细枝末节的东西都探索出来了,可又有什么用呢?还是配不明白。

那就老老实实按照这个教程上的安装centos,然后yum(他是完美适配centos的)配一下,纵享丝滑。

软件安装

软件

下载地址

  • virtualbox官方下载

  • vagrant 官方下载自己系统的版本 ,我这里是windows

安装

就是下一步下一步,点到最后。最后的效果就是命令行输入vagrant,有反应,说明安装好了;点击virtualbox,可以打开页面。

镜像安装部署应用

1、镜像初始化(下载)[vagrant init centos/7]+[vagrant up]

vagrant init centos/7
vagrant up

我们执行vagrant init centos/7,他会生成一个配置文件,
再执行vagrant up启动的时候,他会看自己本地镜像库里面没有这个镜像,就会去云端拉取下载。

然后会从vagrant 的镜像库缓慢地下载这个镜像,我们可以中断这个下载命令,然后自己直接把他的链接复制下来,到网页里面下载,或者用迅雷什么的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
下载链接:https://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box

2、添加镜像 [vagrant box add centos/7 …]

要告诉vagrant,这个东西就是centos/7的镜像,添加进去。

添加镜像命令

vagrant box add centos/7 C:\Users\xxxx\Downloads\CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box

C:\Users\xxxx\Downloads\CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box 《–这里你需要替换为你自己的文件路径

3、镜像重新初始化 [vagrant init centos/7]

再执行vagrant init centos/7,他如果报错,请到相应目录下找到Vagrantfile(这是个配置文件,会在初始化的时候生成。),然后删除。
执行失败

之后再执行vagrant init centos/7

执行成功

这意味着初始化成功了!

4、原神 虚拟机启动[vagrant up]

cmd执行命令

vagrant up
cmd启动成功了。

在这里插入图片描述

打开virtualbox,启动成功

在这里插入图片描述

5、连接

vagrant ssh

在这里插入图片描述

组件的安装及端口转发

docker使用yum安装、mysql使用docker拉取

VirtualBox和vagrant快速创建虚拟机安装docker_vagrant virtualbox-CSDN博客

docker及mysql的组件的安装可见这篇博客

在这里插入图片描述

端口配置

在这里插入图片描述

在virtualbox这里配置,一下即可。我们点击右上角+号,添加一个端口转发规则,相当于把虚拟机3315转发到主机的3315端口。

在这里插入图片描述

验证

在这里插入图片描述

关闭虚拟机

vagrant halt

在这里插入图片描述

ps:虚拟机关掉了,docker也就关掉了奥。下次再开起来的时候要重新开。还有端口转发的配置,也需要重新配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/326394.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux批量快速修改文件名的三种方法

在Linux中,批量重命名文件是一项常见且有用的操作。以下是三种常用的批量重命名文件的方法,每种方法都附有示例。这些方法既可以适用于新手,也适用于更有经验的用户。 话不多说,直接上干货! rename 命令 rename命令是…

ITE IT6801FNBX HDMI接收器 芯片

一、物料概述 IT6801FN是一款单端口HDMI接收器,可在HDMI1.4和MHL2.1双模式下工作,完全兼容MHL2.1、HDMI 1.4a、HDMI 1.4a3D和HDCP1.4,还可向后兼容DVI 1.0规格。IT6801FN具有深彩色功能(高达36位),可确保接…

Redis主从+哨兵集群(基于CentOS-8.0)高可用部署方案

目录 一、环境描述 二、Redis 主从集群部署 2.1 Redis下载 2.2 Redis解压 和移动文件 2.4 编译、安装Redis 2.6 新建 bin 和 etc 文件夹 2.7 分发Redis 2.8 配置 2.8.1 主节点配置 2.8.2 从节点配置 2.9 启动Redis服务 2.10 验证主从服务 2.11 查看节点角色信息 2…

k8s的存储卷、数据卷---动态PV创建

当发布PVC之后可以生成PV,还可以在动态服务器上直接生成挂载目录。PVC直接绑定和使用PV。 动态PV需要两个组件 存储卷插件:Provisioner(存储分配器)根据定义的属性创建PV StorageClass:定义属性 存储卷插件 存储卷插件:k8s本…

从“AI证件照”到“AI译制片”,爆款AIGC应用的商业化迷思

文 | 脑极体 让郭德纲飙英文、让霉霉说中文的翻译视频生成工具HeyGen和掀起AI证件照热潮的“妙鸭相机”一样,在一阵疯狂刷屏之后,又迅速在各大群里销声匿迹了。 十月份,由HeyGen制作的各种明星跨语言翻译视频,在全网疯传&#xf…

C#微信公众号HIS预约挂号系统源码

微信公众号预约挂号系统、支付宝小程序预约挂号系统主要是让自费、医保患者在手机上就能实现就医全过程,实时预约挂号、自费、医保结算,同时还可以查询检查检验报告等就诊信息,真正实现了让信息“多跑路”,让群众“少跑腿”。系统…

【C++】- 类和对象(运算符重载!!const!!详解!!)

类和对象③ 介绍运算符重载赋值运算符重载运算符重载const 在学习C语言时,我们首先接触的就是变量,再深入学习,我们可以利用运算符对变量进行操作,当我们使用C编写程序时,经常会遇到一些需要对特殊的例如自定义数据类型…

制造工厂ERP系统:从数字销售-生产到财务管理,掌握企业数字化十大核心!

在快速发展的数字化时代,企业(尤其是传统生产制造行业)面临着诸多挑战与机遇。无论是客户体验、供应链管理还是内部流程优化,数字化都在发挥着关键作用。为了更好地应对数字化带来的挑战和机遇为了更好地应对市场变化和提高竞争力…

定了!又一电商巨头拥抱鸿蒙生态

鸿蒙生态 未来可期 近日,鸿蒙生态圈又发布一个令人振奋的消息:京东正式适配原生鸿蒙操作系统!这是继支付宝、微信之后,又一家大厂拥抱鸿蒙的重要举措。可以说,拥抱鸿蒙已经成为了大势所趋! ​ 随着大厂纷…

本地静态资源打包出来,本地配置ng访问服务器(uniapp打包成h5后,使用打包资源连接测试环境测试)

1.下载ng https://nginx.org/en/download.html 2.解压下载的压缩包 3.打包h5静态资源 4.将打包出来的资源放入ng -》html文件夹下面 5.进入ng-》conf-》nginx.conf 进行转发配置 6.启动ng服务,点击nginx.exe 7.浏览器直接访问http://localhost:8081/#/&#x…

Linux------进程的fork()详解

目录 前言 一、fork()的使用 二、fork()的返回值 我们为什么要创建子进程? 父进程与子进程的分流 三、fork的一些难理解的问题 1.fork干了什么事情? 2.fork为什么会有两个返回值 3.fork的两个返回值,为什么会给父进程返回子进程pid…

05--多表操作

1、多表操作 现实生活中,(班级)实体与(学生)实体之间肯定是有关系的,那么我们在设计表的时候,就应该体现出(班级)表与(学生)表之间的这种关系&am…

学习视频一些杂乱的东西

文章目录 ref获取dom元素监听深层的某个属性? 可选链操作符 和 ?? 双问号表达式v-slot 语法糖作用域插槽动态插槽 初始化数组骚操作数字滚动 -> gsapstyle妙招新奇的原型链 object.createB站笔记链接JS相关设计模式ajaxsvgvue3scsswebpack内存泄漏 ref获取dom元素 直接给…

Angular系列教程之组件

文章目录 前言组件的基本概念组件与指令的关系在模板中使用组件总结 前言 在Angular中,组件是构建Web应用程序的核心单元。它们允许我们将UI划分为独立且可重用的部分,并通过数据绑定和事件处理等机制来实现交互性。本文将介绍Angular组件的基本概念&am…

如何公网远程访问Axure RP制作的本地web页面【内网穿透】

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

❤ Uniapp使用三( 打包和发布上线)

❤ Uniapp使用三( 打包和发布上线) 一、介绍 什么是 uniapp? uniapp 是一种基于 Vue.js 的多平台开发框架,它可以同时用于开发安卓、iOS、H5 等多个平台。因此,只需要写一次代码就可以在多个平台上运行,提高了开发效率。 打包…

蓝桥杯 彩灯与任务

题目描述 输入样例 5 5 5 4 3 3 9 R 1 C 4 R 5 A 3 R 2 输出样例 5 3 3 思路 第一眼读不懂旋转是啥意思&#xff0c;根据样例连蒙带猜猜出来&#xff0c;其实就是把整个数组中的挪动几个位置。也很自然的按照题意写出来如下代码&#xff1a; #include <iostream> using…

如果你正在学自动化测试,那么请你仔细看完这篇文章

接触了不少同行&#xff0c;由于他们之前一直做手工测试&#xff0c;现在很迫切希望做自动化测试&#xff0c;其中不乏工作5年以上的人。 本人从事软件自动化测试已经近5年&#xff0c;从server端到web端&#xff0c;从API到mobile&#xff0c;切身体会到自动化带来的好处与痛楚…

kylin集群负载均衡(kylin3,hbaseRIF问题)

hbase历险记 目录 hbase历险记 寻找问题 分析原因 解决方案 方案1&#xff08;资源问题、失败&#xff09; 方案2&#xff08;成功&#xff09; 寻找问题 不知道你是不是有这样的疑惑。我kylin是个单机&#xff0c;我使用的hbase是个集群&#xff0c;但内存全在某一台机…

高并发缓存问题分析以及分布式锁的实现

一,场景概述: 在高并发的环境下,比如淘宝,京东不定时的促销活动,大量的用户访问会导致数据库的性能下降,进而有可能数据库宕机从而不能产生正常的服务,一般一个系统最大的性能瓶颈&#xff0c;就是数据库的io操作,如果发生大量的io那么他的问题也会随之而来。从数据库入手也是…