Т.к. создание виртуальной машины - ручной hemorrhoid, то хотелось бы автоматизировать это всё (особенно, когда нужно создавать несколько машин, админить их). Тем более в компаниях, когда нужно всем “раздать” prod-like виртуалки - конечно, сложно это сделать руками. Поэтому и создаются vagrant boxes, схожие с docker containers, чтобы реализовать изолированность, повторяемость и переносимость.
Для всего этого и нужен vagrant (как один из менеджеров ВМ).
Установка
Установка с офиц сайта не катит, ибо они тоже решили России закрыть доступ к релизам. Anotha clowns
В любом случае, в apt есть более менее новая версия.
И именно оттуда лучше установить, потому что с версия из офиц сайта работает с траблами.
Также нужно установить плагин для той виртуалки, которая будет использоваться. Команда:
Доступа в России к ресурсам нет
Поэтому с помощью vpn нужно скачать этот плагин, например, отсюда
Vagrantfile и запуск
Чтобы vagrant мог качать основные box-ы, добавь строку в начало
Vagrantfile
:Как я понимаю, это снова одно из зеркал Яндекса 🙏
Это команда создаст Vagrantfile в текущей директории. В этом файле мы описываем то, что фактически хотим видеть в виртуальной машине. Там указываться могут образ системы, настройки сети, порты, настройки производительности, shared folders, запускаемые скрипты при поднятии виртуалки и т.д.
После init можно сразу задать образ системы, который будет использоваться.
И тогда образ подставится в config.vm.box
:
Первая строка (не считая комментариев) говорит:
И дальше:
Готовый конфиг для ubuntu/trusty64:
После скачивания box-а (с расширением .box
) выполняй следующие команды:
Возможности vagrant
scp
файлов в виртуалку:
Troubleshoot
При возникновении подобной ошибки:
➜ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
...
...
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'poweroff' state. Please verify everything is configured
properly and try again.
If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.
The primary issue for this error is that the provider you're using
is not properly configured. This is very rarely a Vagrant issue.
Надо проверить сначала, включена ли виртуализация, например, такой командой:
Если всё норм, то следует попробовать установить vagrant с репозиториев apt, а не с офиц сайта.