Использование vagrant. Virtualbox

Использование vagrant с системой виртуализации Virtual Box.

Содержание

1 Запуск Vagrant в текущем каталоге для VirtualBox

  • Если необходимо, чтобы все файлы находились в рабочем каталоге, то следует установить дополнительные переменные среды.

1.1 Запуск Vagrant под Windows в текущем каталоге для VirtualBox

  • Следует задать переменные окружения

    1setx VAGRANT_HOME "X:/your/path/.vagrant.d" /M
    2setx VAGRANT_DOTFILE_PATH "X:/your/path/.vagrant" /M
    3setx VBOX_USER_HOME "X:/your/path/.vbox" /M
    4setx VBOX_INSTALL_PATH "X:/your/path/vm" /M
    
    • Вместо X: необходимо записать букву необходимого диска.
    • Команда setx добавляет переменные в постоянный список переменных окружения.
    • Модификатор /M добавляет переменные в системное окружение.
    • Без этого модификатора переменные будут добавляться в окружение пользователя.

1.2 Запуск Vagrant под Linux в текущем каталоге для VirtualBox

  • Предлагается вместо явного задания переменных окружения использовать Makefile:
 1.PHONY: version
 2
 3help:
 4        @echo 'Usage:'
 5        @echo '  make <target>'
 6        @echo
 7        @echo 'Targets:'
 8        @grep -E '^[a-zA-Z_0-9.-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[36m%-30s\033[0m %s\n", $$1, $$2}'
 9        @echo
10
11add:	## Add the built box to Vagrant
12        @export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; vagrant box add rocky9 vagrant-virtualbox-rocky-9-x86_64.box
13
14up:     ## Up boxies
15        @VBoxManage setproperty machinefolder `pwd`/vm
16        -@export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; export VBOX_USER_HOME=`pwd`/.vbox; export VBOX_INSTALL_PATH=`pwd`/vm; vagrant up
17        @VBoxManage setproperty machinefolder default
18
19server:	## Up server
20        @VBoxManage setproperty machinefolder `pwd`/vm
21        -@export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; export VBOX_USER_HOME=`pwd`/.vbox; export VBOX_INSTALL_PATH=`pwd`/vm; vagrant up server
22        @VBoxManage setproperty machinefolder default
23
24client:	## Up client
25        @VBoxManage setproperty machinefolder `pwd`/vm
26        -@export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; export VBOX_USER_HOME=`pwd`/.vbox; export VBOX_INSTALL_PATH=`pwd`/vm; vagrant up client
27        @VBoxManage setproperty machinefolder default
28
29server-provision:	## Up and provision server
30        @VBoxManage setproperty machinefolder `pwd`/vm
31        -@export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; export VBOX_USER_HOME=`pwd`/.vbox; export VBOX_INSTALL_PATH=`pwd`/vm; vagrant up server --provision
32        @VBoxManage setproperty machinefolder default
33
34client-provision:	## Up and provision client
35        @VBoxManage setproperty machinefolder `pwd`/vm
36        -@export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; export VBOX_USER_HOME=`pwd`/.vbox; export VBOX_INSTALL_PATH=`pwd`/vm; vagrant up client --provision
37        @VBoxManage setproperty machinefolder default
38
39server-destroy:	## Destroy server
40        @VBoxManage setproperty machinefolder `pwd`/vm
41        -@export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; export VBOX_USER_HOME=`pwd`/.vbox; export VBOX_INSTALL_PATH=`pwd`/vm; vagrant destroy server
42        @VBoxManage setproperty machinefolder default
43
44client-destroy:	## Destroy client
45        @VBoxManage setproperty machinefolder `pwd`/vm
46        -@export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; export VBOX_USER_HOME=`pwd`/.vbox; export VBOX_INSTALL_PATH=`pwd`/vm; vagrant destroy client
47        @VBoxManage setproperty machinefolder default

2 Используемые расширения для Vagrant

2.1 vagrant-vbguest

  • Репозиторий: https://github.com/dotless-de/vagrant-vbguest
  • Автоматически устанавливает гостевые дополнения VirtualBox хоста в гостевой системе.
  • Установка дополнения:
    1vagrant plugin install vagrant-vbguest
    
  • Установка дополнения с явно указанным зеркалом для загрузки:
    1vagrant plugin install --plugin-clean-sources --plugin-source https://rubygems.org vagrant-vbguest
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие