Какая разница между бродягими убрать, остановить и уничтожить - PullRequest
0 голосов
/ 05 декабря 2018

Итак, я начинающий, когда дело доходит до бродяги.Просматривая онлайн-контент и связанную с ним документацию, я наткнулся на 3 бродячих команды, а именно: «уничтожить», «удалить» и «остановить».Может кто-то уточнить, что именно они будут делать?

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

HALT: эта команда отключает работающую машину, которой управляет Vagrant.

REMOVE: эта команда удаляет из Vagrant ящик, соответствующий указанному имени.Так это убирает коробку с жесткого диска?

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

удалить означает, даже сняв флажок.Так что вам придется скачать его снова.Это правильно?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

(Кевин ответил правильно, +1! Я просто предоставляю немного больше информации для начинающего бродяги)

Сначала вам нужно понять, как работает бродяга.

Когда вы создаете бродячую среду, высоздаст файл vagrant (вы можете использовать команду vagrant init bento/ubuntu-16.04) - Vagrantfile будет выглядеть (уменьшено до минимума)

Vagrant.configure("2") do |config|
    config.vm.box = "bento/ubuntu-16.04"
end

, когда вы развернете vagrant (vagrant up) для запускавиртуальная машина, что она будет делать:

  1. загрузить из интернета коробку bento/ubuntu-16.04 (фактически это уже виртуальная машина, которая будет базовым образом для дальнейшей виртуальной машины)как только ящик загружен, он остается в папке $HOME/.vagrant.d/boxes и может использоваться для любого другого Vagrantfile.
  2. vagrant клонирует ящик и создаст виртуальную машину в VirtualBox.Вы можете открыть Virtualbox и увидеть виртуальную машину в списке доступных виртуальных машин.Файлы виртуальных машин будут храниться в папке VirtualBox.

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

$ vagrant box list

Вы можете увидеть виртуальную машину, которой в данный момент управляет vagrant, запустив

$ vagrant global-status

Теперь, чтобы ответить на ваш вопрос , команда будет влиять на другой уровень:

  • vagrant halt Вы правильно поняли - вы можете просмотреть мой предыдущий ответ для дальнейшего чтения по В Vagrant, который лучше остановить или приостановить?

  • vagrant destroy Эта команда уничтожает все ресурсы виртуальной машины (но не любые бродячие ресурсы), поэтому все файлы виртуальной машины VirtualBox уничтожаются, но ящик остается нетронутым,Вы можете проверить, запустив vagrant box list после запуска vagrant destroy на ВМ, все поля останутся нетронутыми.

  • vagrant remove Эта команда удалит (уничтожит) бродячие ресурсы так что, если вы хотите создать новую виртуальную машину позже для базового блока, vagrant необходимо будет повторно загрузить его из Интернета.Обратите внимание, что после создания виртуальной машины вы можете снять флажок, и vagrant по-прежнему будет работать правильно, поэтому vagrant remove не влияет на ресурсы VirtualBox и все виртуальные машины остаются нетронутыми


Примечание по использованию ящика:

  • Вы можете иметь несколько версий одного и того же ящика

    $ vagrant box list
    bento/ubuntu-16.04                      (vmware_desktop, 2.3.0)
    bento/ubuntu-16.04                      (vmware_desktop, 2.3.7)
    
  • Вы можете иметь одну и ту же версию ящика дляразные провайдеры

    $ vagrant box list
    bento/ubuntu-16.04                      (virtualbox, 201708.22.0)
    bento/ubuntu-16.04                      (vmware_desktop, 2.3.0)
    bento/ubuntu-16.04                      (vmware_desktop, 2.3.7)
    
0 голосов
/ 06 декабря 2018

Добро пожаловать на ТАК!Это большой вопрос.Чтобы уточнить, vagrant box remove YOUR_BOX_NAME предназначен для полного удаления поля, такого как hashicorp/precise64, где вы действительно должны повторно загрузить его, чтобы использовать его.Теперь vagrant destroy просто уничтожает виртуальную машину, поэтому она не будет отображаться в вашем менеджере, например, если вы используете Oracle VM Manager .Я надеюсь, что это дает разъяснения.

...