Vagrant single box с несколькими адресуемыми доменами.locals

Vagrant single box с несколькими адресуемыми доменами.locals

В настоящее время я использую Vagrant и Chef для предоставления отдельных виртуальных машин Linux для различных приложений.

Эти приложения адресуются к домену с хоста, не требуя никаких дополнительных настроек на хосте. Это достигается с помощью avahi на гостевой системе Linux. Затем хост получает доступ через имя хоста гостя, например:

myguest1.local -> VM#1
myguest2.local -> VM#2

Теперь мне нужно установить еще одно приложение, которое для репликации рабочего сервера должно иметь 2 виртуальных хоста Apache, адресуемых в пределах одной виртуальной машины, например:

myguest3.local    
               -> VM#3
myguest4.local    

Могу ли я добиться этого полностью с помощью Vagrant/Chef, не внося никаких изменений в хост-машину?

решение1

Вы можете объявить псевдоним через API Avahi с помощью Avahi.EntryGroup.AddRecord:пример питона.

Подробное решение по использованию скрипта:предоставлено на SO

решение2

Для этого есть плагин Vagrant: vagrant-hostsupdater

Выдержка со страницы github:

This plugin adds an entry to your /etc/hosts file on the host system.
On up, resume and reload commands, it tries to add the information, if its not already existant in your hosts file. If it needs to be added, you will be asked for an administrator password, since it uses sudo to edit the file.

On halt and destroy, those entries will be removed again.

А также естьvagrant-hostmanager, который поддерживает машины Windows. Я им не пользовался, поэтому любые отзывы приветствуются.

Выдержка из страницы на github:

vagrant-hostmanager is a Vagrant 1.1+ plugin that manages the /etc/hosts file on guest machines (and optionally the host). Its goal is to enable resolution of multi-machine environments deployed with a cloud provider where IP addresses are not known in advance.

Похоже, что оба плагина автоматизируют процесс добавления записей в/etc/hosts

решение3

Это, конечно, сработает, но вам нужно будет вручную задать записи для виртуальных хостов в файле /etc/hosts вашего хоста. Это должен быть единственный шаг, который потребуется на хост-машине.

Связанный контент