Skąd bierze się nazwa „domyślna” podczas uruchamiania włóczęgi?
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
Czy istnieje sposób, aby to ustawić?
configuration
vagrant
virtualbox
vagrantfile
Kyle Kelley
źródło
źródło
Odpowiedzi:
Stwierdziłem, że wiele opcji jest mylących, więc postanowiłem przetestować je wszystkie, aby zobaczyć dokładnie, co robią.
Używam VirtualBox 4.2.16-r86992 i Vagrant 1.3.3.
Utworzyłem katalog o nazwie
nametest
i uruchomiłemwygenerować domyślny plik Vagrantfile. Następnie otworzyłem GUI VirtualBox, aby zobaczyć, jakie nazwy będą tworzyć pola, które utworzę.
Domyślny plik Vagrantfile
Nazwa GUI VirtualBox: „nametest_default_1386347922”
Komentarze: Domyślna nazwa to format DIRECTORY_default_TIMESTAMP.
Zdefiniuj maszynę wirtualną
Nazwa GUI VirtualBox: „nametest_foohost_1386347922”
Komentarze: Jeśli jawnie zdefiniujesz maszynę wirtualną, zastosowana nazwa zastępuje token „default”. Jest to nazwa błędnych wyników na konsoli. Uproszczenie na podstawie
zook
danych wejściowych (komentujących)Ustaw nazwę dostawcy
Nazwa GUI VirtualBox: „foohost”
Komentarze: Jeśli ustawisz
name
atrybut w bloku konfiguracji dostawcy, nazwa ta stanie się całą nazwą wyświetlaną w GUI VirtualBox.Połączony przykład: Zdefiniuj maszynę wirtualną i ustaw nazwę dostawcy
Nazwa GUI VirtualBox: „barhost”
Komentarze: Jeśli używasz obu metod jednocześnie, wartość przypisana
name
w bloku konfiguracji dostawcy wygrywa. Uproszczenie na podstawiezook
danych wejściowych (komentujących)Zestaw
hostname
(BONUS)Komentarze: Ustawia nazwę hosta w maszynie wirtualnej. To będzie wynik
hostname
polecenia w maszynie wirtualnej, a także to, co jest widoczne w wierszu poleceniavagrant@<hostname>
, tutaj będzie wyglądaćvagrant@buzbar
Kod końcowy
Tak więc jest. Teraz znasz 3 różne opcje, które możesz ustawić, i ich efekty. Myślę, że w tym momencie jest to kwestia preferencji? (Jestem nowy w Vagrant, więc nie mogę jeszcze mówić o najlepszych praktykach.)
źródło
VBoxManage list vms
w wierszu polecenia.define VM
nazwa metody jest używana w Vagrant stdout i logach, natomiastset provider name
nazwa służy do zarządzania polem z dostawcą. Więc oba są istotne.do... end
bloku, jeśli jest pusty.config.vm.define "foohost"
działa dobrze.Bringing machine 'default' up with 'virtualbox' provider...
po wykonaniuvagrant up
W ten sposób przypisałem nazwy do poszczególnych maszyn wirtualnych. Zmień
YOURNAMEHERE
na żądane imię.Zawartość pliku Vagrantfile:
Wyjście końcowe:
źródło
config.vm.define :app_name
działa.config.vm.define YOURNAMEHERE do |t| end
Jeśli chcesz zmienić cokolwiek innego zamiast „domyślnego”, po prostu dodaj te dodatkowe wiersze do pliku Vagrantfile:
Zmień nazwę basebox, używając „statusu włóczęgi”
Gdzie „tendo” będzie nazwą, która pojawi się zamiast domyślnej
źródło
Podaję nazwę, definiując wewnątrz pliku VagrantFile, a także nazwę hosta, więc cieszę się, widząc nazwę mojego projektu podczas wykonywania poleceń Linuksa niezależnie od systemu operacyjnego mojego urządzenia. ✌️
źródło
Tak, dla dostawcy Virtualbox wykonaj coś takiego:
źródło
vagrant destroy
a następnie przywróceniu go, nadal nazywa się domyślnym.Możesz zmienić domyślną nazwę maszyny, zmieniając wartość
config.vm.define
.Oto prosty plik Vagrantfile, który wykorzystuje getopts i pozwala dynamicznie zmieniać nazwę:
Aby użyć innej nazwy, możesz uruchomić na przykład:
Uwaga:
--vm-name
parametr należy podać przedup
poleceniem.lub:
źródło
W przypadku, gdy wiele osób korzysta z twojego błędnego pliku - możesz ustawić nazwę dynamicznie . Poniżej znajduje się przykład, jak to zrobić, używając nazwy użytkownika z komputera HOST jako nazwy skrzynki i nazwy hosta:
źródło