Що саме виконують команди Vagrant?


96

Напрочуд немає документації щодо того, що роблять команди Vagrant, крім посилань у всьому посібнику "Початок роботи".

Що я досі розробив:

  • box- керувати " ящиками "
  • destroy - вимкнути віртуальну машину, а потім видалити збережене зображення?
  • gem
  • halt - вимкнути віртуальну машину
  • init - підготувати каталог з новим файлом Vagrant
  • package- вимкнути віртуальну машину, а потім перетворити її на "пакет", який можна перетворити на коробку? (Або щось)
  • provision - запустити лише етап підготовки (наприклад, шеф-кухар, ляльковий ...)
  • reload - змінити конфігурацію віртуальної машини (наприклад, повторно застосувати файл Vagrant), перезапустити віртуальну машину, повторне надання
  • resume - скасувати зупинку (тобто перевести в сплячку)
  • ssh - відкрити підключення оболонки SSH до віртуальної машини
  • ssh-config
  • status
  • suspend - сплячий режим VM
  • up - деякі або всі: скопіюйте образ віртуальної машини, щоб створити нову віртуальну машину, застосуйте до неї конфігурацію, завантажте її

Чи маю я це право? Які інші? Я досі трохи незрозумілий щодо точної різниці між reloadта destroy/ up.


Поточна документація зараз набагато краща - vagrantup.com/v1/docs/index.html
JavaRocky

2
@JavaRocky, мені це не здається. vagrantup.com/v1/docs/commands.html досі буквально не містить інформації про кожну підкоманду. Я очікував би більше інформації про кожну команду в такому посібнику (порівняно з -h), не менше.
Matthew Flaschen

2
@JavaRocky - Якщо це вже краще, я не уявляю, якими вони були раніше. Зовсім не корисний.
DougW

Цікаво, схоже, вони насправді видалили список команд, зробивши веб-сайт ще менш інформативним, ніж раніше.
Steve Bennett

З поточних документів здається, що "відновити" надлишкове з "бродячим вгору", наприклад, останнє відновить роботу машини, якщо вона призупинена, і повторне надання, якщо вона зупинена. Це точно? docs.vagrantup.com/v2/getting-started/teardown.html
cboettig

Відповіді:


48

Я погоджуюсь з вами, що документація для vagrantup має коротший бік.

Деяку інформацію можна отримати в системі довідки команд.

  1. Наприклад: gemкоманда.

    Просто введіть команду без аргументів: vagrant gem -hі вона видасть інформацію, яка вам може знадобитися.

    vagrant gemвикористовується для встановлення плагінів Vagrant через систему RubyGems. Насправді, vagrant gemце лише інтерфейс фактичного gem інтерфейсу, з тією різницею, що Vagrant встановлює спеціальний каталог, де встановлюються дорогоцінні камені, щоб вони були ізольовані від системних дорогоцінних каменів.

  2. Vagrant ssh-config:

    Під капотом, коли ви виконуєте vagrant sshssh у віртуальну машину. Він використовує відомий ключ ssh. Інформація про цей ключ надається vagrant ssh-config. Це корисно у випадку, якщо ви хочете змінити добре відомий ключ на власний приватний ключ і підготувати поля для використання.

    Також іноді вам може знадобитися використовувати автоматизацію на основі ssh з вашими віртуальними машинами. У цьому випадку корисно знати, який ключ використовується. Ви можете використовувати звичайну команду ssh -ssh -i keyfile ..

  3. vagrant status <vmname>

    Ця команда є обгорткою, яка надає інформацію про стан vm. Це може бути запущено, збережено та вимкнено.

  4. vagrant reload

    Якщо ви внесете будь-які зміни до конфігурації у файлі vagrant, які повинні набути чинності. Можливо, ви захочете перезавантажити віртуальну машину. Він повторно запускає надання, визначене у файлі vagrant, якщо ви про це теж не попросите.

    Це не знищує віртуальну машину, яку ви створили з базового вікна. Це означає, що всі зміни, які ви внесли у вашу віртуальну машину, наприклад, скажімо, створена папка у вашому каталозі користувача, будуть там після перезавантаження.

    Це як перезавантаження, де він вимикає вашу віртуальну машину, а потім застосовує певні зміни конфігурації, які можна застосувати лише тоді, коли віртуальну машину вимкнено. а потім увімкніть його. Приклад: як приєднання іншого віртуального диска SATA.

  5. vagrant up

    Це зчитує ваш файл конфігурації, vagrantfileа потім створює віртуальну машину з базового вікна. Base Box - це як шаблон. З нього можна створити багато віртуальних машин.

    Подібним чином vagrant destroyзнищує вашу ВМ. У цьому випадку всі зміни, внесені вами всередині, будуть втрачені. Але це крута ідея, що ви можете почати з базового заздалегідь визначеного стану, коли створюєте нову ВМ.

Мені дуже подобається користуватися ним і писав про це в блогах .

Таким чином, це хороша обгортка API-інтерфейсів і команд VirtualBox . Ви можете поглянути на команди VirtualBox, щоб краще зрозуміти деякі можливості.


1
З якої версії бродяги ви отримуєте всі ці результати? Я використовую 1.0.5 і нічого подібного не отримую. vagrant gem -hдає результат, який ви показали, але всі інші не говорять нічого корисного.
DougW

2
Схоже, Vagrant 1.2 пішов назад. наприклад, vagrant init -hпросто надає це: Використання: vagrant init [box-name] [box-url] -h, --help Роздрукувати цю допомогу
Steve Bennett

34

Я не впевнений, коли він змінився, але поточна версія (1.6.3) має відповідний список команд, а запущений vagrant list-commandsдає ще більш повний список:

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

Єдиними командами, що вилучаються із повного списку при самозапуску vagrant, є докер та rsync. У моїй системі, так чи інакше.

Зараз, схоже, це остаточна відповідь.


8

Насправді дуже погано, що хоча нинішні документи для v1.1 виглядають краще, вони набагато менш повні, ніж v1. Кредо "менше - це більше" просто не працює в галузі документації ...

Я виявив, що коли справа стосується Vagrantfiles, то найбільш повний огляд - у коментарях до щойно створеного Vagrantfile після ініціалізації проекту Vagrant. Тут згадуються параметри, яких на даний момент немає в документації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.