network name create address capistrano vagrant

capistrano - name - vagrant share



¿Cómo encontrar la IP Vagrant? (9)

Abra el terminal, ven a la ruta de tu Vagrantfile y escribe esto

(Linux) vagabundo ssh -c "nombre de host -I | cut -d '''' -f2" 2> / dev / null

(OS X) vagabundo ssh -c "nombre de host -I | cut -d '''' -f2" 2> / dev / null | pbcopy

El comando para Linux también funciona para Windows. No tengo forma de probarlo, lo siento.

fuente: https://coderwall.com/p/etzdmq/get-vagrant-box-guest-ip-from-host

He estado desarrollando una implementación automatizada usando Capistrano y usando Vagrant como mi servidor virtual de prueba.

La cuestión es que necesito el IP de Vagrant para " ssh into it".

Intenté ifconfig y obtuve el IP, pero parece que no es exactamente el IP errado.

¿Alguien puede ayudarme a obtener el Vagrant IP?


Creo que necesito la IP para configurar /etc/hosts en el sistema host para que apunte a los servicios en la máquina virtual nueva.

Aquí hay una versión aproximada de lo que uso para buscar la IP. Deje que Vagrant haga su magia SSH y solicite a la VM su dirección; ajustar para sus necesidades.

new_ip=$(vagrant ssh -c "ip address show eth0 | grep ''inet '' | sed -e ''s/^.*inet //'' -e ''s///.*$//''")

Acabo de encontrar esto en el Vagrant Docs . Parece que lo consideran un enfoque válido:

Esto asignará automáticamente una dirección IP desde el espacio de direcciones reservado. La dirección IP se puede determinar usando vagrant ssh para SSH en la máquina y usando la herramienta de línea de comandos adecuada para encontrar la IP, como ifconfig.



En el tipo de terminal:

ip addr show


Lo hice en VagrantFile:

REMOTE_IP = %x{/usr/local/bin/vagrant ssh-config | /bin/grep -i HostName | /usr/bin/cut -d/' /' -f4} run "ping #{REMOTE_IP}"

Como puede ver, usé la función ruby ​​"% x {}".


Necesitaba saber esto para decirle a un usuario qué agregar al archivo de host de la máquina host. Esto me funciona en vagrant usando solo bash:

external_ip=$(cat /vagrant/config.yml | grep vagrant_ip | cut -d'' '' -f2 | xargs) echo -e "# Add this line to your host file:/n${external_ip} host.vagrant.vm"


Por defecto, un cuadro vagabundo no tiene ninguna dirección IP. Para encontrar la dirección IP, simplemente asigne la dirección IP en su Vagrantfile luego llame a Vagrantfile vagrant reload

Si solo necesita acceder a una máquina errante solo desde la máquina host, todo lo que necesita es configurar una "red privada". O elimine el comentario de la línea apropiada en un Vagrantfile predeterminado o agregue este fragmento. Si desea que su máquina virtual aparezca en 172.30.1.5 , sería la siguiente:

config.vm.network "private_network", ip: "172.30.1.5"

Aprende más sobre redes privadas. https://www.vagrantup.com/docs/networking/private_network.html

Si necesita que se pueda acceder al vagabundo fuera de su equipo host, por ejemplo para desarrollarlo contra un dispositivo móvil como iOS o Android, debe habilitar una red pública, puede usar IP estática, como 192.168.1.10 , o DHCP.

config.vm.network "public_network", ip: "192.168.1.10"

Obtenga más información sobre cómo configurar una red pública https://www.vagrantup.com/docs/networking/public_network.html


Sé que esta publicación es antigua pero quiero agregar algunos puntos a esto!

puedes probar

vagrant ssh -c "ifconfig | grep inet" hostname

¡esto será fácil si ha configurado un nombre para sus invitados individualmente!


correr:

vagrant ssh-config > .ssh.config

y luego en config/deploy.rb

role :web, "default" role :app, "default" set :use_sudo, true set :user, ''root'' set :run_method, :sudo # Must be set for the password prompt from git to work default_run_options[:pty] = true ssh_options[:forward_agent] = true ssh_options[:config] = ''.ssh.config''