Vagrant 手册之网络 - 概述及基本用法

时间:2023-08-21 15:16:44

原文地址 - 概述

原文地址 - 基本用法

为了访问创建的 Vagrant 环境,Vagrant 为端口转发、连接公共网络、创建私有网络等功能暴露了一些高层网络选项。

高层网络选项用于提供可以跨 provider (VirtualBox、VMWare 等)工作的抽象定义。这意味着可以将 Vagrantfile 文件用于 VirtualBox 机器或 VMWare 机器。

Vagrant 提供多个用于将虚拟机连接到网络的选项,但有一个标准的使用模式,以及所有网络配置的一些重要的共同点。

1. 高级配置

在某些情况下,这些选项太高级,你可能需要更好地调整和配置底层机器的网络接口。大多数 provider 都公开了特定的配置来执行此操作,因此请阅读特定 provider 的文档以查看可用选项。

对于初学者,强烈建议使用高层网络选项,直到你熟悉了 Vagrant 的工作流程,并让事情在基本水平上运行。如果操作不当,特定于 provider 的网络配置可能会很快将锁定在虚拟机上。

2. 配置

所有的网络配置都是通过 Vagrantfile 中的 config.vm.network 方法调用实现的。例如,下面的 Vagrantfile 定义了端口转发:

Vagrant.configure("2") do |config|
# ...
config.vm.network "forwarded_port", guest: 80, host: 8080
end

通过“forwarded_port”这样的标识符区分网络类型。标识符后面是一组配置参数,不同的网络类型参数不一样。在端口转发中,需要两个数字参数:guest

机器上的端口号,以及 host 宿主机上的端口号。

3. 多个网络

在 Vagrantfile 中多次调用 config.vm.network 方法,可以定义多个网络。通常定义顺序就是网络的开启顺序。

4. 开启网络

执行 vagrant upvagrant reload 命令时,在 Vagrantfile 中定义的网络会自动配置并且自动开启。