Использование 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