2011-09-27 9 views
27

Tengo un sistema Vagrant en funcionamiento y quiero aplicarle un cambio que es tan poco como cambiar una de las reglas de reenvío.Cambiar el reenvío de puerto vago en un sistema en ejecución

De this page:

puertos reenviados se aplican durante vagrant up como cualquier otra configuración . Pero si ya tiene un sistema en ejecución, llame al vagrant reload y lo aplicará sin volver a importar 0 reconstruir todo.

Tenga en cuenta que los puertos de reenvío requieren un reinicio de máquina virtual desde VirtualBox no recuperará en los puertos reenviados hasta que se haya reiniciado completamente .

¡Suena exactamente como lo que quiero! Pero si pruebo un vagrant reload todas las recetas de mi Chef se vuelven a cargar y dado que el proceso completo dura aproximadamente media hora, tengo que ir a la cocina y tomar la enésima taza de café.

¿Hay alguna forma de aplicar los cambios de Vagrantfile en un sistema en ejecución sin pasar por todo el proceso de aprovisionamiento? No puedo tomar tanto café.

Respuesta

38

¿Ha intentado utilizar la interfaz de usuario de VirtualBox para agregar la nueva regla de reenvío de puertos manualmente? Abra VirtualBox y seleccione la máquina virtual en ejecución, luego presione Configuración-> Red-> Reenvío de puertos y agregue la nueva regla a, por ejemplo, reenviar 127.0.0.1:2223 a 10.0.2.15:22. Después de hacer esto, pude conectarme a mi VM en los puertos 2222 (como es habitual) y 2223 (la nueva regla).

Naturalmente, debe agregar esta nueva regla a su Vagrantfile al mismo tiempo para asegurarse de que la asignación se vuelva permanente después del reinicio eventual.

Además, si su aprovisionamiento de VM tarda tanto, ¿ha considerado mover algunos de los pasos de chef/marioneta en la caja base real? Por ejemplo, tal vez esté instalando un montón de software de servidor que demora un tiempo en instalar. Reempaquetar la caja con este software ya instalado podría reducir drásticamente el tiempo de inicio de Vagrant.

Espero que esto ayude!

+1

Gracias hermano, solución extremadamente simple y rápida aplicada –

+3

Para cualquiera que lea, la próxima respuesta por awongh podría ser lo que está buscando. – marios

+0

Sí, aunque el reinicio de la VM puede no ser lo que se desea. (¡Y ese comando no existía en 2011 cuando escribí la respuesta anterior!) – DuffJ

12

que puede hacer

recarga vagabundo --no-prestación

y debe funcionar sin cocinero, marionetas, etc.

aunque todavía se reiniciará el VM-siente como "Pero si tienes un sistema que ya está funcionando ..." es quizás un poco engañoso.

+0

Reiniciar la máquina virtual es el problema, aunque sea un poco más rápido – TimoSolo

Cuestiones relacionadas