У меня на компьютере для разработки установлено vagrant 1.2.2 ; ноутбук. Я использую один и тот же ноутбук в трех разных средах с разными сетевыми настройками.
Мой VagrantFile выглядит так:
Vagrant.configure("2") do |config|
config.vm.box = "lucid32"
config.vm.network :forwarded_port, guest: 80, host: 88
config.vm.network :forwarded_port, guest: 56789, host: 56789
config.vm.network :public_network, :bridge => 'Intel(R) 82579V Gigabit Network Connection'
config.vm.hostname = "web"
end
Он успешно устанавливает имя хоста как web
в безголовом Ubuntu.
Но когда я пытаюсь выполнить эхо-запрос web
из ОС хоста (Windows), он не разрешает IP-адрес.
Я не могу каждый раз изменять файл hosts в Windows, поскольку маска подсети класса C и диапазоны IP-адресов меняются, когда я перехожу в другой офис.
Есть ли способ получить доступ к гостю с хоста машина через имя хоста web
?
Следуя совету Энди, я создал частную сеть со статическим IP-адресом. Затем на хосте Windows я настроил имя хоста с этим IP-адресом. Таким образом, я могу получить доступ к веб-серверу из локальной / хост-ОС.
Теперь в VagrantFile, поскольку порт 88 моего хост-компьютера перенаправлен на гостевой порт 80 ( config.vm.network: forwarded_port, guest: 80 , host: 88
), я могу получить доступ к веб-серверу с компьютеров в локальной сети с помощью: http: // host-computer-name: 88 /
.
Почему бы также не указать частную сеть что ваш хост может использовать для подключения к виртуальной машине?
http://docs.vagrantup.com/v2/networking/private_network.html
Частный IP-адрес останется неизменным, куда бы вы ни пошли. Затем вы можете добавить запись хостов для этого частного IP-адреса.
Чтобы получить доступ к сети с любого другого компьютера, вам необходимо добавить запись DNS на свой DNS-сервер в вашей локальной сети.
Однако, судя по тому, что вы описали, это может стать проблемой, потому что вам нужно будет обновлять запись в DNS каждый раз, когда ваш ноутбук получает новый IP-адрес.
Если вы хотите иногда делиться этой виртуальной машиной с несколькими другими людьми в сети, вам следует просто сообщать им IP-адрес при каждом изменении.
Если к виртуальной машине обращается много людей или ваш IP-адрес часто меняется, вам действительно стоит просто переместить виртуальную машину с ноутбука на выделенный сервер или получить экземпляр ec2.
Vagrant отлично подходит для раскрутки виртуальных машин на вашей собственной рабочей станции, но не подходит для обмена виртуальными машинами с другими людьми.