文章目录
默认虚拟机的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 up
或 vagrant reload
命令来应用新的配置并重新启动虚拟机。