【实战记录】 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也就关掉了奥。下次再开起来的时候要重新开。还有端口转发的配置,也需要重新配置。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旧衣回收小程序搭建:降低企业成本,提高回收效率!

在人们环保意识提升下,旧衣回收行业受到了大众的关注,同时旧衣回收具有门槛低、利润大的优势。在我国,回收行业不仅帮助普通人就业获利,还对环保做出了较大贡献。因此,旧衣回收行业成为了当下的热门商业模式&#xff0…

时尚女童冲锋衣外套

上身时尚又好看的外套 日常穿着或者出行游玩 应对早晚温差,兼具时尚和功能 保暖也可以很轻盈 率性闲适的洒脱范 版型百搭好穿 下摆有橡筋收紧更加保暖了 简直就是一件实用与时尚并存的时尚单品

Swift爬虫程序采集招聘信息代码示例

今天我将用Swift写一个爬虫程序,主要是爬取招聘信息网站得。我们知道Selenops是一个简单的Swift Web爬虫工具,可以用于爬取网页内容。您可以使用Selenops的三种方式之一来进行爬虫操作:Swift游乐场、Swift脚本或马拉松脚本SwiftUI是一种用于构…

100个实战项目——在树莓派4B+Ubuntu20.04桌面版配置下运行智能小车(一)

主机SSH远程链接从机 查看python版本 python 我的是python3.8 所以我需要安装pip3 sudo apt install python3-pip 接着安装程序需要的引脚库 sudo pip3 install RPi.GPIO 注意必须要有sudo,因为我是远程遥控的树莓派,没有权限运行程序&#xff0…

如何进行时间管理 待办事项软件帮你成为时间管理大师

在这个快节奏的现代社会,时间显得格外宝贵。每个人都在与时间赛跑,试图在有限的时间里完成更多的事情。我曾经也深陷于这样的困境,每天都被无数的杂事裹挟着,仿佛永远都抓不住时间的尾巴。 那时,我常常感到焦虑和疲惫…

操作系统详解(5.2)——信号(Signal)的题目进阶

系列文章: 操作系统详解(1)——操作系统的作用 操作系统详解(2)——异常处理(Exception) 操作系统详解(3)——进程、并发和并行 操作系统详解(4)——进程控制(fork, waitpid, sleep, execve) 操作系统详解(5)——信号(Signal) 操作系统详解(5.1)——信号(Signal)的相…

MySQL进阶45讲【1】基础架构:一条SQL查询语句是如何执行的?

1 前言 我们经常说,看一个事儿千万不要直接陷入细节里,应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,有个最简单的…

锐意进取,蓬勃发展|爱基百客2023全景图

岁序更迭,2023年已悄然离去。对我们来说,这是充满挑战与机遇的一年。爱基百客作为一家专注于测序服务的公司,我们在这一年里经历了许多挑战,也取得了令人鼓舞的成绩。前面我们盘点了表观产品和单细胞产品,今天再邀您回…

AI工具推荐:开源TTS(文本生成语音)模型集合

XTTS TTS是一个语音生成模型,可以通过一个简短的6秒音频片段将声音克隆到不同的语言。它不需要大量的训练数据,也不需要耗费大量时间。TTS支持17种语言,可以进行声音克隆、情感和风格转移、跨语言声音克隆以及多语言语音生成等功能。XTTS-v2…

徐州数字孪生元宇宙赋能工业智能制造,助力传统制造业数字化转型

徐州数字孪生元宇宙赋能工业智能制造,助力传统制造业数字化转型。在徐州市制造业企业数字化转型的过程中,数字孪生技术的应用已经取得了显著成效。一方面,企业的生产效率得到了显著提高,产品质量也得到了有效保障。另一方面&#…

LLM:Scaling Laws for Neural Language Models (中)

核心结论 1:LLM模型的性能主要与计算量C,模型参数量N和数据大小D三者相关,而与模型的具体结构 (层数/深度/宽度) 基本无关。三者满足: C ≈ 6ND 2. 为了提升模型性能,模型参数量N和数据大小D需要同步放大,但模型和数…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十二)

购物车相关 1.添加购物车1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 1.2 代码开发1.2.1 DTO设计1.2.2 Controller层1.2.3 Service层接口1.2.4 Service层实现类1.2.5 Mapper层 2. 查看购物车2.1 需求分析和设计2.1.1 产品原型2.1.2 接口设计 2.2 代码开发2.2.…

K8S----YAML

kubernetes中资源可以使用YAML描述(如果您对YAML格式不了解,可以参考YAML语法),也可以使用JSON。其内容可以分为如下四个部分: typeMeta:对象类型的元信息,声明对象使用哪个API版本&#xff0c…

L1-027 出租(Java)

下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]2 对应 arr[2]1,index[1]0 对应 arr[0]8,index[2]3 对应 arr[3]0&…

Android Studio安卓读取EM4100 TK4100卡卡号源码

本示例使用的读卡器&#xff1a;https://item.taobao.com/item.htm?spma1z10.5-c.w4002-21818769070.35.44005b43nb1q2h&id562957272162 <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmln…

2024年【安全生产监管人员】复审考试及安全生产监管人员模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全生产监管人员复审考试是安全生产模拟考试一点通总题库中生成的一套安全生产监管人员模拟考试题库&#xff0c;安全生产模拟考试一点通上安全生产监管人员作业手机同步练习。2024年【安全生产监管人员】复审考试及…

Unity 编辑器篇|(六)编辑器拓展EditorGUI类 (全面总结 | 建议收藏)

目录 1. 前言2. 参数3. 功能3.1 折叠菜单&#xff1a; Foldout3.2 检查 GUI 更改&#xff1a; BeginChangeCheck 、EndChangeCheck 监听值改变3.3 可禁用控件&#xff1a;BeginDisabledGroup 、EndDisabledGroup 是否禁用组中的控件3.4 下拉菜单&#xff1a;DropdownButton3.5 …

CentOS7安装MySQL 错误:软件包:akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)

问题如图所示 运行一下命令解决 yum -y remove mariadb-libsyum install mysql-community-server

PriorityBlockingQueue概念

四、PriorityBlockingQueue概念 4.1 PriorityBlockingQueue介绍 首先PriorityBlockingQueue是一个优先级队列&#xff0c;他不满足先进先出的概念。 会将查询的数据进行排序&#xff0c;排序的方式就是基于插入数据值的本身。 如果是自定义对象必须要实现Comparable接口才可…

如何学习three.js

如何学习three.js 前言1. 基础概念场景&#xff08;Scene&#xff09;&#xff1a; three.js中所有物体的容器。你可以把它想象成一个舞台&#xff0c;在这里添加物体、光源等。相机&#xff08;Camera&#xff09;&#xff1a; 决定了哪部分场景会被渲染。最常用的是透视相机&…