Что именно делают бродячие команды?


на удивление нет документации о том, что делают команды Vagrant, кроме ссылок во всем учебнике "начало работы".

то, что я разработал до сих пор:

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

у меня есть это право? А что же остальные? Я все еще немного неясно о точной разнице между reload и destroy/up.

3 92

3 ответа:

я согласен с вами, что документация на vagrantup на более короткой стороне.

некоторую информацию можно почерпнуть из командной справочной системы.

  1. например: .

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

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

  2. Vagrant ssh-config:

    под капотом, когда вы выполняете vagrant ssh подключиться по SSH к виртуальной машине. Он использует это хорошо известный ключ ssh. Информацию об этом ключе предоставляет vagrant ssh-config. Это полезно в случае, если вы хотите изменить ключ well know на свой собственный закрытый ключ и подготовьте ящики для его использования.

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

  3. vagrant status <vmname>

    эта команда является оболочкой, которая предоставляет информацию о состоянии виртуальной машины. Он может быть запущен, сохранен и выключен.

  4. vagrant reload

    если вы вносите любые изменения в конфигурацию в vagrantfile, которые должны вступить в силу. Вы можете перезагрузить виртуальную машину. Он повторно запускает подготовку, определенную в vagrantfile, если вы не спросите его тоже.

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

    это похоже на перезагрузку, когда он отключает вашу виртуальную машину, а затем применяет определенные изменение конфигурации, которое может быть применено только при выключении виртуальной машины. а затем включите его. Пример: например, подключение другого виртуального диска SATA.

  5. vagrant up

    это читает ваш файл конфигурации -vagrantfile и затем создает виртуальную машину из базового поля. Базовая коробка похожа на шаблон. Из него можно создать множество виртуальных машин.

    аналогично, vagrant destroy уничтожает вашу виртуальную машину. В этом случае все изменения, которые вы сделали, когда внутри он будет потерян. Но вот что классная идея, что вы можете начать с базового предопределенного состояния при создании новой виртуальной машины.

мне очень нравится использовать его и написал об этом в блоге.

таким образом, это хорошая оболочка над API VirtualBox и командами. Вы можете посмотреть команды VirtualBox чтобы лучше понять некоторые возможности.

Я не уверен, когда он изменился, но текущая версия (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 те. По крайней мере, в моей системе.

это, кажется, окончательный ответ, сейчас.

Это действительно очень плохо, что, хотя текущие документы для v1.1 выглядит лучше, это гораздо менее полным, чем v1. Кредо "меньше значит больше" просто не работает в области документации...

Я обнаружил, что когда дело доходит до Vagrantfiles, наиболее полный обзор находится в комментариях недавно созданного Vagrantfile, после инициализации проекта vagrant. В нем упоминаются параметры, которые в настоящее время отсутствуют в документации.