Я уже давно оценил плюсы виртуальных машин для разработки, и повсеместно их использую. В результате имею парк в 5-10 виртуальных машин, с разными ветками и проектами. Несколько из которых постоянно запущены.
90% из них запускаются в headless режиме. И берут IP динамически. Так как статику контролировать постоянно невозможно, и она имеет другие ограничения. Отсюда результат — достоверно неизвестно с каким адресом запустится виртуалка. Думаю вы с таким сталкивались. Если нет — можете перейти к следующему посту. 🙂
В этом случае у меня такой порядок запуска виртуалки:
1. запуск в нормальном режиме
2. смотрим внутри нее ifconfig / ipconfig на предмет адреса
3. гасим ее
4. запускаем в headless и надеемся, что адрес будет таким же
На VB трекере есть соответствующий feature request. Но он закрыт как «works for me» с решением Linux only. Что меня не устраивает. Других красивых решений не нашлось, тч было решено написать свое.
Небольшой скрипт для node.js, который перечисляет все запущенные виртуалки и все их сетевые адреса.
Запускается с помощью «node vmip» и показывает что-то типа:
J:\sites\vmip>node vmip
SomeMachine
192.168.13.188
U3
10.0.2.15
192.168.13.29
192.168.56.101
XP
192.168.56.102
10.0.2.15
192.168.13.* адреса — из реальной сети, 192.168.56.* — host-only сеть vbox’а, 10.* — натовский адрес vbox’а, по сути — отсутствие доступа из вне.
Скрипт проверен на используемых Windows / OS X. Полностью лишен красоты и наполнен суровой практичностью. Если будет спрос — будет дополняться.
ссылка на оригинал статьи http://habrahabr.ru/post/211124/
Добавить комментарий