In generale, possiamo trovare l'indirizzo IP di una macchina Linux usando ip
comando o ifconfig
comando nelle precedenti distribuzioni Linux. Non importa se si tratta di una macchina fisica o virtuale. Se abbiamo accesso al sistema, potremmo facilmente visualizzare il suo indirizzo IP con ip
o ifconfig
comandi. Come si trova un indirizzo IP di una macchina Vagrant, senza accedervi?
Un modo per trovare l'indirizzo IP di una casella Vagrant è prima accedere alla macchina Vagrant tramite ssh usando il comando:
$ vagrant ssh
E poi esegui usa ip
o ifconfig
o hostname
comandi:
$ ip a
Oppure,
$ ifconfig
Oppure,
$ hostname -I
Questo è il solito modo per trovare l'indirizzo IP di una macchina Vagrant.
Tuttavia, non è necessario. Possiamo effettivamente ottenere l'indirizzo IP della rete locale per una VM in esecuzione su Vagrant, senza nemmeno doverlo inserire.
Trova l'indirizzo IP della macchina Vagrant
Innanzitutto, devi trovare l'ID della macchina virtuale Vagrant in esecuzione usando il comando:
$ vagrant global-status
Risultato di esempio:
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"
Come puoi vedere nell'output sopra, AlmaLinux vagrant box è attualmente in esecuzione e il suo ID è b2279ad .
Per trovare l'indirizzo IP di questa macchina Vagrant, esegui semplicemente:
$ vagrant ssh-config b2279ad
Risultato di esempio:
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
Come puoi vedere nell'output sopra, l'indirizzo IP della macchina AlmaLinux 8 in esecuzione su Vagrant è 192.168.122.143 .
Allo stesso modo, puoi trovare anche l'indirizzo IP delle altre caselle Vagrant in esecuzione.
Per maggiori dettagli sull'utilizzo del comando Vagrant, fare riferimento alla seguente guida:
- Tutorial di Vagrant – Introduzione a Vagrant in Linux
Mancia bonus
Mi sono imbattuto in una discussione in Stack overflow. Ci sono molte soluzioni fornite per trovare l'indirizzo IP di Vagrant box in quel thread.
Uno dei modi più semplici è andare alla directory del progetto della macchina Vagrant ed eseguire il seguente comando:
$ vagrant ssh -c "hostname -I | cut -d' ' -f2" 2>/dev/null
Spero che questo aiuti.
Lettura correlata:
- Come configurare la rete in Vagrant
- Come trovare l'indirizzo IP di una macchina virtuale KVM