我正在尝试创建一个可以启动、提供和销毁 vagrant boxes 的 rest api。 到目前为止,我已经设法完成了大部分简单的任务,例如配置、解析日志以确定配置是否成功、启动、停止、销毁虚拟机和解析日志以查找端口何时发生冲突并已重新映射。
但是,我无法弄清楚如何找到盒子从路由器的 DHCP 收到的新 IP。 我可以跑
vagrant ssh -c ifconfig
并尝试解析 IP 地址,但如果我不知道接口(interface)名称,它将无法工作。
有没有办法让 vagrant 报告它的本地 ip 是什么?或者有没有办法找到这个 ip?
我正在使用 python-vagrant将 python 与 vagrant 接口(interface),但此时甚至可以通过 python 执行 shell 命令。
谢谢
最佳答案
你可以告诉 Vagrant 使用一个特定的 IP 而不是通过添加一个随机的 IP
Vagrant.configure('2') do |config|
config.vm.network :private_network, ip: '192.168.x.x'
end
你应该已经有了 Vagrant.configure 部分,这将使用你定义的特定 IP 来配置盒子。
关于python - 以编程方式在 Vagrant 中获取 vm 的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42811765/