Co dokładnie robią polecenia Vagranta?

96

Zaskakująco nie ma dokumentacji na temat tego, co robią polecenia Vagranta, poza odniesieniami w samouczku „wprowadzenie”.

Co wypracowałem do tej pory:

  • box- zarządzaj „ pudełkami
  • destroy - zamknąć maszynę wirtualną, a następnie usunąć jej zapisany obraz?
  • gem
  • halt - wyłącz maszynę wirtualną
  • init - przygotuj katalog z nowym plikiem Vagrantfile
  • package- zamknąć maszynę wirtualną, a następnie przekształcić ją w „pakiet”, który można przekształcić w pudełko? (Lub coś)
  • provision - uruchom tylko etap przygotowania (np. Szef kuchni, Marionetka ...)
  • reload - zmodyfikuj konfigurację maszyny wirtualnej (np. ponownie zastosuj plik Vagrantfile), zrestartuj maszynę wirtualną, ponownie zastanów
  • resume - un-suspend (tj. unhibernate)
  • ssh - otwórz połączenie powłoki SSH z maszyną wirtualną
  • ssh-config
  • status
  • suspend - hibernuj maszynę wirtualną
  • up - niektóre lub wszystkie: skopiuj obraz maszyny wirtualnej, aby utworzyć nową maszynę wirtualną, zastosuj do niej konfigurację, uruchom ją

Czy mam to prawo? Jakie są inne? Nadal nie jestem pewien, jaka jest dokładna różnica między reloadi destroy/ up.

Steve Bennett
źródło
Obecna dokumentacja jest teraz znacznie lepsza - vagrantup.com/v1/docs/index.html
JavaRocky
2
@JavaRocky, nie wydaje mi się to. vagrantup.com/v1/docs/commands.html nadal nie ma dosłownie żadnych informacji na temat podpoleceń. W takim przewodniku spodziewałbym się więcej informacji o każdym poleceniu (w porównaniu do -h), a nie mniej.
Matthew Flaschen
2
@JavaRocky - Jeśli tak jest lepiej, nie mogę sobie wyobrazić, jakie były wcześniej. W ogóle nieprzydatne.
DougW
Co ciekawe, wygląda na to, że faktycznie usunęli listę poleceń, przez co witryna jest jeszcze mniej informacyjna niż wcześniej.
Steve Bennett
Z obecnych dokumentów wygląda na to, że „wznowienie” jest zbędne z „włóczęgą w górę”, np. Ta ostatnia wznowi maszynę, jeśli została zawieszona, i ponownie uruchomi, jeśli zostanie zatrzymana. Czy to prawda? docs.vagrantup.com/v2/getting-started/teardown.html
cboettig

Odpowiedzi:

48

Zgadzam się z Tobą, że dokumentacja w vagrantup jest krótsza.

Niektóre informacje można uzyskać z systemu pomocy poleceń.

  1. Na przykład: gempolecenie.

    Po prostu wpisz polecenie bez argumentów: vagrant gem -hi wygeneruje informacje, których możesz potrzebować.

    vagrant gemsłuży do instalowania wtyczek Vagrant za pośrednictwem systemu RubyGems. W rzeczywistości vagrant gemjest to tylko nakładka na rzeczywisty gem interfejs, z tą różnicą, że Vagrant konfiguruje niestandardowy katalog, w którym instalowane są klejnoty, tak aby były odizolowane od klejnotów systemu.

  2. Vagrant ssh-config:

    Pod maską, kiedy wykonujesz vagrant sshssh do maszyny wirtualnej. Używa swojego dobrze znanego klucza ssh. Informacji o tym kluczu dostarcza vagrant ssh-config. Jest to przydatne w przypadku, gdy chcesz zmienić dobrze znany klucz na swój własny klucz prywatny i przygotować skrzynki do jego używania.

    Czasami możesz również chcieć użyć automatyzacji opartej na ssh z maszynami wirtualnymi. W takim przypadku przydatna jest wiedza, który klucz jest używany. Możesz użyć normalnego polecenia ssh -ssh -i keyfile ..

  3. vagrant status <vmname>

    To polecenie jest opakowaniem, które dostarcza informacji o stanie maszyny wirtualnej. Może być uruchomiony, zapisany i wyłączony.

  4. vagrant reload

    Jeśli wprowadzisz jakiekolwiek zmiany w konfiguracji w pliku vagrantfile, które muszą odnieść skutek. Możesz ponownie załadować maszynę wirtualną. Ponownie uruchamia obsługę administracyjną zdefiniowaną w pliku vagrantfile, chyba że o to poprosisz.

    Nie niszczy maszyny wirtualnej utworzonej z pudełka podstawowego. Oznacza to, że wszystkie zmiany, które wprowadziłeś na swojej maszynie wirtualnej, na przykład utworzony folder w katalogu użytkownika, będą tam po ponownym załadowaniu.

    Przypomina to ponowne uruchomienie, w którym wyłącza maszynę wirtualną, a następnie wprowadza pewną zmianę konfiguracji, którą można zastosować tylko wtedy, gdy maszyna wirtualna została wyłączona. a następnie włącz go. Przykład: jak podłączanie innego dysku wirtualnego SATA.

  5. vagrant up

    Spowoduje to odczytanie pliku konfiguracyjnego - vagrantfilea następnie utworzenie maszyny wirtualnej z pudełka podstawowego. Pudełko bazowe jest jak szablon. Możesz z niego stworzyć wiele maszyn wirtualnych.

    Podobnie vagrant destroyniszczy maszynę wirtualną. W takim przypadku wszystkie zmiany wprowadzone w środku zostaną utracone. Ale to jest fajny pomysł, że podczas tworzenia nowej maszyny wirtualnej można zacząć od podstawowego, wstępnie zdefiniowanego stanu.

Bardzo lubię go używać i pisałem o tym na blogu .

Podsumowując, jest to dobre opakowanie dla interfejsów API i poleceń VirtualBox . Możesz rzucić okiem na polecenia VirtualBox, aby lepiej zrozumieć niektóre możliwości.

pyfunc
źródło
1
Z jakiej wersji włóczęgi otrzymujesz to wszystko? Używam 1.0.5 i nic takiego nie dostaję. vagrant gem -hdaje wynik, który pokazałeś, ale wszyscy inni nie mówią nic użytecznego.
DougW,
2
Wydaje się, że Vagrant 1.2 cofnął się. np. vagrant init -hpo prostu podaje to: Użycie: vagrant init [nazwa-skrzynki] [url-skrzynki] -h, --help Wydrukuj tę pomoc
Steve Bennett
34

Nie jestem pewien, kiedy to się zmieniło, ale obecna wersja (1.6.3) ma odpowiednią listę poleceń, a uruchomienie vagrant list-commandsdaje jeszcze pełniejszą listę:

box             manages boxes: installation, removal, etc.
connect         connect to a remotely shared Vagrant environment
destroy         stops and deletes all traces of the vagrant machine
docker-logs     outputs the logs from the Docker container
docker-run      run a one-off command in the context of a container
global-status   outputs status Vagrant environments for this user
halt            stops the vagrant machine
help            shows the help for a subcommand
init            initializes a new Vagrant environment by creating a Vagrantfile
list-commands   outputs all available Vagrant subcommands, even non-primary ones
login           log in to Vagrant Cloud
package         packages a running vagrant environment into a box
plugin          manages plugins: install, uninstall, update, etc.
provision       provisions the vagrant machine
rdp             connects to machine via RDP
reload          restarts vagrant machine, loads new Vagrantfile configuration
resume          resume a suspended vagrant machine
rsync           syncs rsync synced folders to remote machine
rsync-auto      syncs rsync synced folders automatically when files change
share           share your Vagrant environment with anyone in the world
ssh             connects to machine via SSH
ssh-config      outputs OpenSSH valid configuration to connect to the machine
status          outputs status of the vagrant machine
suspend         suspends the machine
up              starts and provisions the vagrant environment
version         prints current and latest Vagrant version

Jedyne polecenia, które zostały pominięte z pełnej listy, gdy działają vagrantsamodzielnie, to polecenia docker i rsync. W każdym razie w moim systemie.

To wydaje się teraz ostateczną odpowiedzią.

Steve Bennett
źródło
8

Naprawdę szkoda, że ​​chociaż obecna dokumentacja dla wersji 1.1 wygląda lepiej, jest znacznie mniej kompletna niż wersja 1.1. Kredo `` mniej znaczy więcej '' po prostu nie działa w dziedzinie dokumentacji ...

Odkryłem, że jeśli chodzi o pliki Vagrantfile, najbardziej kompletny przegląd znajduje się w komentarzach do świeżo utworzonego pliku Vagrantfile, po zainicjowaniu projektu włóczęgi. Wymienia parametry, których nie ma obecnie w dokumentacji.

David Spreekmeester
źródło