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

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

Содержание

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

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

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

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

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

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

  • Предлагается вместо явного задания переменных окружения использовать Makefile:
.PHONY: version

help:
        @echo 'Usage:'
        @echo '  make <target>'
        @echo
        @echo 'Targets:'
        @grep -E '^[a-zA-Z_0-9.-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[36m%-30s\033[0m %s\n", $$1, $$2}'
        @echo

add:	## Add the built box to Vagrant
        @export VAGRANT_HOME=`pwd`/.vagrant.d; export VAGRANT_DOTFILE_PATH=`pwd`/.vagrant; vagrant box add rocky9 vagrant-virtualbox-rocky-9-x86_64.box

up:     ## Up boxies
        @VBoxManage setproperty machinefolder `pwd`/vm
        -@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
        @VBoxManage setproperty machinefolder default

server:	## Up server
        @VBoxManage setproperty machinefolder `pwd`/vm
        -@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
        @VBoxManage setproperty machinefolder default

client:	## Up client
        @VBoxManage setproperty machinefolder `pwd`/vm
        -@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
        @VBoxManage setproperty machinefolder default

server-provision:	## Up and provision server
        @VBoxManage setproperty machinefolder `pwd`/vm
        -@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
        @VBoxManage setproperty machinefolder default

client-provision:	## Up and provision client
        @VBoxManage setproperty machinefolder `pwd`/vm
        -@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
        @VBoxManage setproperty machinefolder default

server-destroy:	## Destroy server
        @VBoxManage setproperty machinefolder `pwd`/vm
        -@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
        @VBoxManage setproperty machinefolder default

client-destroy:	## Destroy client
        @VBoxManage setproperty machinefolder `pwd`/vm
        -@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
        @VBoxManage setproperty machinefolder default

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

2.1 vagrant-vbguest

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

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

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

Похожие