通常,我们可以使用以下方法找到 Linux 机器的 IP 地址 ip
命令或 ifconfig
旧 Linux 发行版中的命令。 不管是物理机还是虚拟机。 如果我们可以访问系统,我们可以很容易地查看它的 IP 地址 ip
或者 ifconfig
命令。 如何在不登录的情况下找到 Vagrant 机器 IP 地址?
找到 Vagrant box 的 IP 地址的一种方法是首先使用以下命令通过 ssh 登录到 Vagrant 机器:
$ vagrant ssh
然后运行使用 ip
或者 ifconfig
或者 hostname
命令:
$ ip a
或者,
$ ifconfig
或者,
$ hostname -I
这是查找 Vagrant 机器 IP 地址的常用方法。
但是,这不是必需的。 我们实际上可以获取在 Vagrant 上运行的 VM 的本地网络 IP 地址,甚至无需 ssh 进入它。
查找 Vagrant 机器 IP 地址
首先,您需要使用命令找到正在运行的 Vagrant 虚拟机的 ID:
$ vagrant global-status
样本输出:
id name provider state directory ---------------------------------------------------------------------- f4904ad default libvirt shutoff /home/sk/Vagrant/Archlinux 831f9c0 default libvirt shutoff /home/sk/Vagrant/Gentoo 3587422 default libvirt shutoff /home/sk/Vagrant/Rhel8 b2279ad default libvirt running /home/sk/Vagrant/Almalinux8 The above shows information about all known Vagrant environments on this machine. This data is cached and may not be completely up-to-date (use "vagrant global-status --prune" to prune invalid entries). To interact with any of the machines, you can go to that directory and run Vagrant, or you can use the ID directly with Vagrant commands from any directory. For example: "vagrant destroy 1a2b3c4d"
正如你在上面的输出中看到的,AlmaLinux vagrant box 当前正在运行,它的 ID 是 b2279ad.
要找到这台 Vagrant 机器的 IP 地址,只需运行:
$ vagrant ssh-config b2279ad
样本输出:
Host default HostName 192.168.122.143 User vagrant Port 22 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /home/sk/Vagrant/Almalinux8/.vagrant/machines/default/libvirt/private_key IdentitiesOnly yes LogLevel FATAL
正如您在上面的输出中看到的,在 Vagrant 上运行的 AlmaLinux 8 机器的 IP 地址是 192.168.122.143.
同样,您也可以找到其他正在运行的 Vagrant 盒子的 IP 地址。
有关 Vagrant 命令用法的更多详细信息,请参阅以下指南:
- Vagrant 教程 – 在 Linux 中开始使用 Vagrant
奖金提示
我遇到了一个 讨论 在堆栈溢出。 有很多解决方案可以在该线程中找到 Vagrant box 的 IP 地址。
最简单的方法之一是转到 Vagrant 机器的项目目录并运行以下命令:
$ vagrant ssh -c "hostname -I | cut -d' ' -f2" 2>/dev/null
希望这可以帮助。
相关阅读:
- 如何在 Vagrant 中配置网络
- 如何查找 KVM 虚拟机的 IP 地址