当前位置: 首页 > news >正文

谷粒商城学习-07-虚拟机网络设置

文章目录

  • 一,找到配置文件Vagrantfile
  • 二,查询虚拟机网卡地址
    • 1,查看虚拟机网络配置
    • 2,查看宿主机网络配置
  • 三,修改配置文件下的IP配置
  • 四,重新启动虚拟机即可生效
  • 五,`Vagrantfile` 的作用
    • 1,虚拟机定义
    • 2,自动配置和初始化
    • 3,SSH 配置
    • 4,多虚拟机管理和集群配置
    • 5,环境一致性
    • 6,版本控制

默认虚拟机的ip地址不是固定的,虚拟机重启后IP就会变化,不便于开发,可以修改配置文件,让虚拟机IP地址固定。

一,找到配置文件Vagrantfile

比如我机器上的文件路径是:C:\Users\Lenovo
在这里插入图片描述
Vagrantfile 是 Vagrant 使用的一个核心配置文件,它是一个文本文件,用于定义和管理虚拟机的配置以及与之相关的自动化任务。

二,查询虚拟机网卡地址

cmd中执行 ipconfig 命令查询。
在这里插入图片描述

192.168.56.1是虚拟机网卡地址,我们只要在配置文件中把虚拟机的IP设置为这个子网下的地址即可,比如192.168.56.10

如何确定这个地址就是虚拟机网卡的地址呢?

1,查看虚拟机网络配置

右键VirtualBox上要查看的虚拟机,选择设置。

在这里插入图片描述

选择左侧的网络,可以看到有个网卡的名称是:

VirtualBox Host-Only Ethernet Adapter

在这里插入图片描述

2,查看宿主机网络配置

宿主机即windows机器,在电脑的高级网络设置中可以看到以太网2有如下说明:
VirtualBox Host-Only Ethernet Adapter,和虚拟机设置中的名称一致,说明这个IP地址就是虚拟机网卡地址。

在这里插入图片描述

三,修改配置文件下的IP配置

修改如下配置中的ip:

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

在这里插入图片描述

四,重新启动虚拟机即可生效

使用 vagrant up 启动虚拟机后,执行命令vagrant ssh连上虚拟机,然后在命令执行命令ip addr查询虚拟机的ip地址。

在这里插入图片描述
这里要注意,一定要用vagrant up命令启动虚拟机,如果直接在VirtualBox上启动,Vagrantfile配置文件中内容不会生效。

不要在下面界面上直接启动虚拟机。

在这里插入图片描述

五,Vagrantfile 的作用

Vagrantfile 是 Vagrant 使用的一个核心配置文件,它是一个文本文件,用于定义和管理虚拟机的配置以及与之相关的自动化任务。由于 Vagrant 是用 Ruby 编写的,因此 Vagrantfile 中的配置语言也是基于 Ruby 的语法,但它并不需要深入的 Ruby 编程知识即可编辑。

Vagrantfile 的作用主要有以下几点:

1,虚拟机定义

  • 指定虚拟机的箱(box)来源,即虚拟机的基础镜像。
  • 配置虚拟机的硬件资源,例如 CPU 数量、内存大小、硬盘空间等。
  • 设置虚拟机的网络接口,如桥接网络或私有网络。

2,自动配置和初始化

  • 执行自动配置脚本或 Ansible playbook,以便在虚拟机启动后进行系统初始化和软件安装。
  • 配置共享文件夹,使宿主机和虚拟机之间能够共享文件。

3,SSH 配置

  • 设置 SSH 登录的用户名、端口和密钥,便于从宿主机访问虚拟机。

4,多虚拟机管理和集群配置

  • 定义多个虚拟机,并指定它们之间的依赖关系,形成一个集群。
  • 配置网络连通性,如设置网络桥接或私有网络,以支持虚拟机间的通信。

5,环境一致性

  • 确保不同的开发者在本地环境中使用相同的配置,提高团队协作效率。
  • 便于在不同环境中复制和部署虚拟化环境,如开发、测试和生产环境。

6,版本控制

  • 通常将 Vagrantfile 文件加入到版本控制系统中,如 Git,这样可以追踪配置的变化历史,也方便团队成员共享配置。

通过 Vagrantfile,开发者可以定义一个可重复使用的虚拟化环境模板,从而简化开发环境的搭建过程,保证团队成员使用的环境一致,降低环境相关的调试和问题排查难度。当修改了 Vagrantfile 后,可以通过执行 vagrant upvagrant reload 命令来应用新的配置并重新启动虚拟机。

相关文章:

  • Java后端每日面试题(day1)
  • C++STL函数对象的应用
  • 【单链表】03 设L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值。
  • 认识不-物联网“六域模型”有哪些有什么作用
  • git上传时出现了main master的问题解决
  • Redis优化之持久化
  • Patch SCN使用说明---惜分飞
  • 深入理解 Linux 内核架构
  • Uniapp 默认demo安装到手机里启动只能看得到底tab无法看到加载内容解决方案
  • C++感受12-Hello Object 派生版
  • C语言pow函数简单介绍
  • Linux 端口
  • IO、零拷贝、多路复用、connection、池化
  • 一文让你彻底搞懂什么是CDN
  • Linux RHEL 8.6在安装PostgreSql时提示缺少en_US.UTF-8
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • ES10 特性的完整指南
  • Java Agent 学习笔记
  • Java深入 - 深入理解Java集合
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Redis在Web项目中的应用与实践
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 读懂package.json -- 依赖管理
  • 和 || 运算
  • 力扣(LeetCode)22
  • 区块链技术特点之去中心化特性
  • 为视图添加丝滑的水波纹
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 你对linux中grep命令知道多少?
  • ionic异常记录
  • ​插件化DPI在商用WIFI中的价值
  • #Linux(权限管理)
  • (11)MSP430F5529 定时器B
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (52)只出现一次的数字III
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (BFS)hdoj2377-Bus Pass
  • (C语言)共用体union的用法举例
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (第27天)Oracle 数据泵转换分区表
  • (二)斐波那契Fabonacci函数
  • (附源码)ssm高校实验室 毕业设计 800008
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)Windows2003安全设置/维护
  • ****Linux下Mysql的安装和配置
  • .NET CLR基本术语
  • .NET Core MongoDB数据仓储和工作单元模式封装