Как решить проблему переадресации перезаписанных портов в virtualbox через vagrant?

#vagrant #virtualbox #portforwarding

#vagrant #virtualbox #перенаправление портов

Вопрос:

У меня есть

  • хост: Windows
  • гость: система Unix
  • Виртуализация: Vagrant VirtualBox

У меня есть конфигурация для переадресации портов в Vagrantfile :

 config.vm.network 'forwarded_port', guest: 8011, host: 80, host_ip: '127.0.0.111'
config.vm.network 'forwarded_port', guest: 8022, host: 80, host_ip: '127.0.0.222'
 

По какой-то причине на стороне хоста есть один и тот же порт (но с разными IP-адресами), в таблице переадресации портов в VirtualBox используется одно и то же имя, и последнее перезаписывает предыдущее.

В этом примере у нас есть имя «tcp80».

Есть ли какая-либо возможность указать имя или сделать его уникальным?

Ответ №1:

Опция, которую вы ищете, называется auto_correct

 config.vm.network 'forwarded_port', guest: 8011, host: 80, host_ip: '127.0.0.111', auto_correct: true
config.vm.network 'forwarded_port', guest: 8022, host: 80, host_ip: '127.0.0.222', auto_correct: true
 

из документа vagrant

При запуске нескольких машин Vagrant часто неосознанно создаются определения перенаправленных портов, которые сталкиваются друг с другом (например, два отдельных проекта Vagrant, перенаправленных на порт 8080). Vagrant включает встроенный механизм для автоматического обнаружения и исправления этого.

Комментарии:

1. та же ошибка. На самом деле, это ожидаемое поведение. github.com/mitchellh/vagrant/issues/7905

Ответ №2:

id опция может быть добавлена следующим id: '8ob6tri7v6' образом, но…
К сожалению, это ожидаемое поведение. Я допустил ошибку в баг-трекере на GitHub.

https://github.com/mitchellh/vagrant/issues/7905