首页 > 解决方案 > 如何在我的 vagrant 文件中传递本地网络的 dhcp 详细信息

问题描述

我有一个 vagrant 文件,其中我的虚拟盒子的 IP 是硬编码的。

# The IP address of the first server
primary_ip = "172.17.8.101"

我想根据我的本地网络(公司网络)动态分配 ip。

在 vagrant 文档中,我看到我们可以使用

使用专用网络的最简单方法是允许通过 DHCP 分配 IP。

Vagrant.configure("2") do |config|
  config.vm.network "private_network", type: "dhcp"
end

https://www.vagrantup.com/docs/networking/private_network.html

在同一个 vagrant 文件中,在配置过程中,我看到硬编码的 ip 被引用。现在,我使用的是 'type: dhcp',我怎样才能为下面的配置传递 IP 详细信息?

host.vm.provision :shell, inline: %Q|echo 'export ETCD_AUTHORITY="#{primary_ip}:2379"' >> /home/vagrant/.profile|

标签: configurationvagrantdhcp

解决方案


我使用了下面的代码片段,以便 virtualbox 依赖于主机网络来获取 IP 地址。

config.vm.network "public_network",
      use_dhcp_assigned_default_route: true, bridge: 

在运行我的流浪文件时,我有以下桥接网络接口。要自动选择网络接口,请使用以下代码片段。

Available bridged network interfaces:
1) Intel(R) 82579LM Gigabit Network Connection
2) VMware Virtual Ethernet Adapter for VMnet1
3) VMware Virtual Ethernet Adapter for VMnet8

代码片段。

config.vm.network "public_network", bridge: "Intel(R) 82579LM Gigabit Network Connection"

推荐阅读