Ответ 1
Я обнаружил, что несколько вариантов запутывают, поэтому я решил проверить их все, чтобы точно увидеть, что они делают.
Я использую VirtualBox 4.2.16-r86992 и Vagrant 1.3.3.
Я создал каталог под названием nametest
и запустил
vagrant init precise64 http://files.vagrantup.com/precise64.box
чтобы создать файл Vagrant по умолчанию. Затем я открыл графический интерфейс VirtualBox, чтобы я мог видеть, какие имена будут создаваться в ящиках.
-
Default Vagrantfile
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" end
Имя GUI VirtualBox: "nametest_default_1386347922"
Комментарии: Имя по умолчанию соответствует формату DIRECTORY_default_TIMESTAMP.
-
Определить VM
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.define "foohost" end
Имя GUI VirtualBox: "nametest_foohost_1386347922"
Комментарии. Если вы явно определяете виртуальную машину, используемое имя заменяет токен 'default'. Это выходы бродячие на консоли. Упрощение на основе входа
zook
(commenter) -
Установить имя поставщика
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.provider :virtualbox do |vb| vb.name = "foohost" end end
VirtualBox GUI Имя: "foohost"
Комментарии. Если вы установите атрибут
name
в блоке конфигурации поставщика, это имя станет целым именем, отображаемым в графическом интерфейсе VirtualBox.Комбинированный пример: Определить имя поставщика и указать имя поставщика
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.define "foohost" config.vm.provider :virtualbox do |vb| vb.name = "barhost" end end
VirtualBox GUI Name: "barhost"
Комментарии. Если вы используете оба метода одновременно, выигрывает значение, назначенное
name
в блоке конфигурации поставщика. Упрощение на основе входаzook
(commenter) -
Установите
hostname
(БОНУС)Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.hostname = "buzbar" end
Комментарии: Это устанавливает имя хоста внутри виртуальной машины. Это будет вывод команды
hostname
в виртуальной машине, а также это то, что видно в приглашении типа[email protected]<hostname>
, здесь оно будет выглядеть как[email protected]
Конечный код
Vagrant.configure('2') do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.hostname = "buzbar"
config.vm.define "foohost"
config.vm.provider :virtualbox do |vb|
vb.name = "barhost"
end
end
Так оно и есть. Теперь вы знаете 3 разных варианта, которые вы можете установить, и эффекты, которые у них есть. Думаю, это вопрос предпочтения на данный момент? (Я новичок в Vagrant, поэтому пока не могу поговорить с лучшими практиками.)