Что именно делают бродячие команды?
на удивление нет документации о том, что делают команды 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 ответа:
я согласен с вами, что документация на vagrantup на более короткой стороне.
некоторую информацию можно почерпнуть из командной справочной системы.
например: .
просто введите команду без аргументов:
vagrant gem -h
и он выдает информацию, которая вам может понадобиться.
vagrant gem
используется для установки плагинов Vagrant через RubyGems система. На самом деле,vagrant gem
- это просто интерфейс к фактическомуgem
интерфейс, с той разницей, что Vagrant устанавливает пользовательский каталог, в котором установлены драгоценные камни, чтобы они были изолированы от вашего система самоцветов.
Vagrant ssh-config
:под капотом, когда вы выполняете
vagrant ssh
подключиться по SSH к виртуальной машине. Он использует это хорошо известный ключ ssh. Информацию об этом ключе предоставляетvagrant ssh-config
. Это полезно в случае, если вы хотите изменить ключ well know на свой собственный закрытый ключ и подготовьте ящики для его использования.также несколько раз вы можете использовать автоматизацию на основе ssh с вашими виртуальными машинами. В этом случае полезно знать, какой ключ используется. Вы могли бы использовать обычную команду ssh -
ssh -i keyfile ..
vagrant status <vmname>
эта команда является оболочкой, которая предоставляет информацию о состоянии виртуальной машины. Он может быть запущен, сохранен и выключен.
vagrant reload
если вы вносите любые изменения в конфигурацию в vagrantfile, которые должны вступить в силу. Вы можете перезагрузить виртуальную машину. Он повторно запускает подготовку, определенную в vagrantfile, если вы не спросите его тоже.
он не уничтожает виртуальную машину, которую вы создали из базового поля. Это означает, что все изменения, которые вы внесли в свою виртуальную машину, например, создали папку в каталоге пользователя, будут там после перезагрузки.
это похоже на перезагрузку, когда он отключает вашу виртуальную машину, а затем применяет определенные изменение конфигурации, которое может быть применено только при выключении виртуальной машины. а затем включите его. Пример: например, подключение другого виртуального диска SATA.
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. В нем упоминаются параметры, которые в настоящее время отсутствуют в документации.