02 虚拟机搭建

0 阅读3分钟

02 虚拟机搭建

1 VirtualBox

VirtualBox 是一款功能丰富、灵活易用、跨平台且免费的虚拟机软件,非常适合个人开发者、学生、IT 从业者以及任何需要在单一硬件上运行多个操作系统的用户。​

网址:www.virtualbox.org/

版本:7.2

2 Vagrant

Vagrant​ 是一款由 ​HashiCorp​ 公司开发的开源工具,用于快速、简单、可重复地创建和管理轻量级、可移植、自配置的开发环境。

简单来说,Vagrant 让你能够通过编写一个简单的配置文件(Vagrantfile),快速地在你的本地机器(如 Windows、macOS 或 Linux)上启动一个虚拟机(通常是 VirtualBox、VMware 等作为底层)​,并且这个虚拟机是标准化、一致、自动配置好的,非常适合团队协作开发和开发环境一致性管理。

🤖 Vagrant 与 VirtualBox 的关系

  • VirtualBox​ 是一个虚拟化平台,负责实际的虚拟机创建与运行。
  • ​Vagrant​ 是一个环境管理工具,它通过调用 VirtualBox(或其他 Provider)来帮你自动化地创建、配置、管理虚拟机。
  • 你可以把 VirtualBox 看作是“引擎”,Vagrant 是“驾驶舱和自动化导航系统”。

网址:developer.hashicorp.com/vagrant

版本:2.4.9

2.1 镜像仓库

地址:portal.cloud.hashicorp.com/vagrant/dis…

我选择了:ubuntu/jammy64,原因:

  • ​镜像名称(Vagrant 中使用)​: ubuntu/jammy64
  • ​对应的 Ubuntu 官方版本: ​Ubuntu 22.04 LTS (Jammy Jellyfish)​​
  • ​发布时间: 2022 年 4 月
  • 支持周期(LTS)​: ​官方支持至 2027 年 4 月​(5 年安全更新)
  • ​架构: 64 位(amd64)
  • ​包管理器: APT(非常成熟、易用)
  • ​Vagrant 官方镜像: ✅ 是 Vagrant Cloud 的官方维护镜像,稳定可靠

2.2 操作步骤

1)下载 ubuntu/jammy64 的 box 到本地

2)将本地的 box 文件导入到 Vagrant 中

vagrant box add my-ubuntu22 ./jammy-server-cloudimg-amd64-vagrant.box

my-ubuntu22:是你给这个 box 起的本地名称(自定义,可随便取,比如 ubuntu22-local、jammy-box等)​,之后在 Vagrantfile 里会用到它;

3)查看已添加的 box

vagrant box list

4)初始化 Vagrantfile,指定你本地的 box 名称

vagrant init my-ubuntu22

这会在当前目录生成一个 Vagrantfile,内容大致如下:

5)启动虚拟机

vagrant up

6)登录虚拟机

vagrant ssh

2.3 网络设置

2.3.1 虚拟机原有IP

ip a

lo(Loopback)是 Linux 系统默认的虚拟回环接口,仅用于本机内部进程间通信(比如本地服务访问 127.0.0.1),不依赖物理网卡,是系统网络的基础组件。

enp0s3 是物理网卡接口(常见于虚拟机或物理机,命名规则:en=Ethernet 以太网,p0=PCI 总线 0,s3= 插槽 3),用于连接外部网络(如路由器、交换机),是本机与其他设备通信的核心接口。

2.3.2 为 Vagrant 设置 ​私有网络

1 编辑你的 Vagrantfile

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

📌 这里的 192.168.56.10是你为虚拟机手动指定的一个私有局域网 IP,一般选用 192.168.56.x这个网段(VirtualBox 默认支持的私有网络段)。

2 重启虚拟机使配置生效

vagrant reload

2.3.3 快速测试是否可以从宿主机访问虚拟机
  1. 在虚拟机中启动一个服务,比如 Python 简单 HTTP 服务:

python3 -m http.server 8000

  1. 然后在你的 ​宿主机浏览器​ 或使用 curl访问:

http://192.168.56.10:8000