一、Vagrant搭建相关环境

目录

  • 一、创建Vagrant相关环境
    • 1.下载安装VirtualBox
    • 2.在BlOS中设置CPU虚拟化
    • 3.使用Vagrant新建linux虚拟机
      • 3.1下载Vagrant
      • 3.2Vagrant官方镜像仓库
      • 3.3使用Vagrant初始化一个centos7的虚拟机
    • 4.设置固定ip地址
  • 二、安装docker
    • 1.按照docker
  • 三、docker安装一些中间件
    • 1.mysql安装
    • 2.redis安装
  • 四、管理
    • 1.查询vagrant管理的虚拟机
    • 2.删除关联的虚拟机
    • 3.删除镜像
  • 五、使用MobaXterm/xshell连接虚拟机
    • 1.修改相关内容

一、创建Vagrant相关环境

1.下载安装VirtualBox

下载地址
在这里插入图片描述
直接默认安装也行,如果不想放C盘重新选择一个盘符即可,直接无脑下一步就行。

2.在BlOS中设置CPU虚拟化

如果之前设置过请忽略。
在这里插入图片描述

在这里插入图片描述

3.使用Vagrant新建linux虚拟机

使用vagrant的好处就是创建虚拟机时不用每次都下一步下一步进行繁琐的安装,使用vagrant命令就可以大大简化我们的操作。它有官方的镜像仓库,里边有好多我们可以用的的镜像等等。

3.1下载Vagrant

下载地址
我是按照尚硅谷老师的版本进行安装的,大家可以选择适合自己的版本
在这里插入图片描述
安装win系统的64位版本
在这里插入图片描述
直接默认安装也行,如果不想放C盘重新选择一个盘符即可,直接无脑下一步就行。

3.2Vagrant官方镜像仓库

仓库地址
在这里插入图片描述

3.3使用Vagrant初始化一个centos7的虚拟机

在这里插入图片描述
在你的安装目录下进行cmd命令
在这里插入图片描述
在这里插入图片描述
执行第一条命令,初始化一个虚拟机

vagrant init centos/7

在这里插入图片描述
启动虚拟机

vagrant up

在这里插入图片描述
打开box软件,发现已经有一个虚拟机在运行了。
在这里插入图片描述
在软件上启动虚拟机和up命令也是一样的。
在这里插入图片描述

ssh连接虚拟机
默认不是root用户,切换root用户时,密码为vagrant

vagrant ssh

在这里插入图片描述

4.设置固定ip地址

查询虚拟机ip地址

ipconfig

在这里插入图片描述
把需要设置的ip地址放在192.168.56.xxx网段下。

编辑Vagrantfile文件,默认安装的话默认是在C盘(系统盘)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

config.vm.network "private_network", ip: "192.168.56.10"

修改完重新启动虚拟机

vagrant reload

测试win主机和虚拟机是否正常通信

ping虚拟机

ping 192.168.56.10

注意!这里如果ping不通,首先检查配置Vagrantfile文件相关步骤是否正确执行,如果是之前能ping同后来ping不通了,如下内容只做参考
首先禁用调vmware的虚拟机网络(这是之前另一款虚拟机软件)
在这里插入图片描述
其次VirtualBox Host-Only Ethernet Adapter这个网络只有一个才对,之前我出现了两个。
如果出现了两个host-only,建议你卸载Oracle VM VirtualBox软件,然后重新安装即可解决。
如果就是一个网络,那么跟我来检查一遍设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

虚拟机ping,win主机
进入虚拟机ping自己的ipv4地址,这里不在赘述。


二、安装docker

1.按照docker

1.1首先切换到root用户
密码:vagrant

ru root
vagrant

执行删除命令,检查是否存在docker相关内容

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

在这里插入图片描述

yum remove docker-ce docker-ce-cli containerd.io

在这里插入图片描述
按照正常docker安装流程进行
步骤一 安装yum-utils

yum install -y yum-utils

步骤二设置镜像地址

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

步骤三更新yum软件包索引

yum makecache fast

步骤四安装DOCKER CE

yum -y install docker-ce docker-ce-cli containerd.io

步骤五启动docker

systemctl start docker

步骤六 查询docker状态

systemctl status docker

在这里插入图片描述
步骤七 设置开机自启
因为虚拟机每次都要开机关机,所以设置开机自启很重要,不然每次都得手动启动docker。

systemctl enable docker

更多详细docker安装排坑内容请看我的这篇博客


三、docker安装一些中间件

详细安装内容的解释可以参考我的这篇博客

1.mysql安装

下载mysql 5.7对应镜像

docker pull mysql:5.7

创建实例,并设置mysql密码123456
MYSQL_ROOT_PASSWORD参数后边设置你的密码

docker run --restart=always -d -p 3306:3306 --privileged=true \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456  \
--name mysql mysql:5.7

查询运行的实例

docker ps

在这里插入图片描述

配置mysql的配置文件

cd /mydata/mysql/conf/
vi my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

重启mysql

docker restart mysql

使用sqlyog连接虚拟机中的mysql
在这里插入图片描述

2.redis安装

下载镜像

docker pull redis:5.0.5

创建目录

mkdir -p /app/redis

初始化redis.conf文件

touch /app/redis/redis.conf 

运行redis实例

docker run --restart=always  -p 6379:6379 --name redis --privileged=true \
-v /app/redis/redis.conf:/etc/redis/redis.conf \
-v /app/redis/data:/data \
-d redis:5.0.5 redis-server /etc/redis/redis.conf

进入redis中简单测试即可

docker exec -it redis /bin/bash
redis-cli

在这里插入图片描述


四、管理

1.查询vagrant管理的虚拟机

vagrant global-status

在这里插入图片描述

2.删除关联的虚拟机

需要在管理员身份下运行

vagrant destroy 对应id

例如

vagrant destroy 230c575

3.删除镜像

vagrant box remove 镜像name

例如

vagrant box remove centos/7

五、使用MobaXterm/xshell连接虚拟机

1.修改相关内容

cmd进入虚拟机

vagrant ssh

切换root用户

su root

修改参数值,找到 PasswordAuthentication 改为yes

vi /etc/ssh/sshd_config

重启ssh服务

systemctl restart sshd

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

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

相关文章

C++例题:大数运算---字符串相加(使用数字字符串来模拟竖式计算)

1.代码速览 class Solution2 { public:string addStrings(string num1, string num2){//end1和end1是下标int end1 num1.size() - 1;int end2 num2.size() - 1;string str;//下标(指针)从后向前走,走到头才可以结束,所以是end>0int next 0;while (end1 > 0 || end2 &…

C#连接S7-200 smart通讯测试

honeytree 一、编程环境 VS2022软件,选择windows窗体应用(.NET FrameWork):​博途TIA/WINCC社区VX群 ​博途TIA/WINCC社区VX群 添加NuGet程序包;S7netplus 二、引用http://S7.net 三、建立PLC链接 S7-200smart和…

嵌入式5-6QT

1> 思维导图 2> 自由发挥应用场景,实现登录界面。 要求:尽量每行代码都有注释。 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置标题this->setWindowTitle("MYQQ");//设置图标this…

03_Redis

文章目录 Redis介绍安装及使用redis的核心配置数据结构常用命令stringlistsethashzset(sortedset) 内存淘汰策略Redis的Java客户端JedisRedisson Redis 介绍 Redis是一个NoSQL数据库。 NoSQL: not only SQL。表示非关系型数据库(不支持SQL标准语法)。 …

一个新细节,Go 1.17 将允许切片转换为数组指针!

在 Go 语言中,一个切片(slice)包含了对其支持数组的引用,无论这个数组是作为一个独立的变量存在于某个地方,还是仅仅是一个为支持分片而分配的匿名数组。 其切片基本结构都如下: // runtime/slice.go typ…

Sentinel流量防卫兵

1、分布式服务遇到的问题 服务可用性问题 服务可用性场景 服务雪崩效应 因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应导致服务不可用的原因: 在服务提供者不可用的时候,会出现大量重试的情况&…

鸿蒙内核源码分析(原子操作篇) | 谁在为原子操作保驾护航

基本概念 在支持多任务的操作系统中,修改一块内存区域的数据需要“读取-修改-写入”三个步骤。然而同一内存区域的数据可能同时被多个任务访问,如果在修改数据的过程中被其他任务打断,就会造成该操作的执行结果无法预知。 使用开关中断的方…

CTF(Web)中关于执行读取文件命令的相关知识与绕过技巧

在我遇到的题目中,想要读取文件必然是要执行cat /flag这个命令,但是题目当然不会这么轻松。让你直接cat出来,必然会有各种各样的滤过条件,你要做的就是尝试各种方法在cat /flag的基础上进行各种操作构建出最终的payload。 下面我…

38-1 防火墙了解

一、防火墙的概念: 防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668 [A]1993-12-15)。它是一种位于内部网络与外部网络之间的网络安全系统,是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。…

《QT实用小工具·五十八》模仿VSCode的可任意拖拽的Tab标签组

1、概述 源码放在文章末尾 该项目实现了模仿VSCode的可任意拖拽的Tab标签组,包含如下功能: 拖拽标签页至新窗口 拖拽标签页合并控件 无限嵌套的横纵分割布局(类似Qt Creator的编辑框) 获取当前使用的标签组、标签页 自动向上合并…

【CTF Reverse】XCTF GFSJ0490 simple-unpack Writeup(UPX壳+脱壳+反汇编)

simple-unpack 菜鸡拿到了一个被加壳的二进制文件 解法 拉进 exeinfope。 检测到是 UPX 打包的 ELF 文件。 NOT Win EXE - .o - ELF [ 64bit obj. Exe file - CPU : AMD x86-64 - OS/ABI: Linux/GNU ]Detected UPX! packer - http://upx.github.io -> try unpack with &…

Linux第三节--常见的指令介绍集合(持续更新中)

点赞关注不迷路!,本节涉及初识Linux第三节,主要为常见的几条指令介绍。 如果文章对你有帮助的话 欢迎 评论💬 点赞👍🏻 收藏 ✨ 加关注👀 期待与你共同进步! Linux下基本指令 1. man指令 Linu…

在uniapp里面使用 mp-html 并且开启 latex 功能

在uniapp里面使用 mp-html 并且开启 latex 功能 默认情况下 mp-html 是不会开启 latex 功能的, 如果需要开启 latex 功能是需要到代码操作拉取代码自行打包的。 这里说一下 mp-html 里面的 latex 功能是由 https://github.com/rojer95/katex-mini 提供的技术实现,…

科技园3d数据可视化展示

我们的园区安防3D可视化报警平台通过高精度三维建模技术,将管理对象场景以立体、直观的方式呈现,实现管理对象的全面可视化。同时,平台与各类业务系统深度对接,实现数据、告警、远程操作的整合展示和联动响应,构建中心…

Java基础教程 - 4 流程控制

更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 4 流程控制 4.1 分支结构…

CSS Web服务器、2D、动画和3D转换

Web服务器 我们自己写的网站只能自己访问浏览,但是如果想让其他人也浏览,可以将它放到服务器上。 什么是Web服务器 服务器(我们也会称之为主机)是提供计算服务的设备,它也是一台计算机。在网络环境下,根据服务器提供的服务类型不…

C++构造函数和析构函数的调用顺序

一般情况下,调用析构函数的次序正好与调用构造函数的次序相反,也就是最先被调用的构造函数,其对应的析构函数最后被调用,而最后被调用的构造函数,其对应的析构函数最先被调用。 当然对象的构造函数和析构函数调用时机和…

DRF的序列化【2】

【0】前提概要 【1】基于 View JsonResponse 编写的 5 个接口: 序列化自定义处理: 你需要自己编写序列化逻辑。处理 JSON 格式的 POST 请求数据: 从 request.body 中获取数据,并使用 json.loads() 解析成字典,然后创建相应的对象。request.…

JS基础:变量的详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃,大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端基础路线”,可获取…

基于51单片机NEC协议红外遥控发送接收proteus仿真设计

1.主要功能: 设计一个51单片机红外遥控发射接收proteus仿真设计 功能要求: 1、使用单片机模拟红外遥控器发射红外编码; 2、利用从机接收红外编码,并将编码以16进制显示到数码管上。 需注意仿真中51单片机芯片是兼容的&#x…