Рассмотрим как выполняется базовая настройка Настройка Vagrant.
Vagrant — обертка для работы с системами виртуализации — чаще всего используется с VirtualBox в качестве CLI (интерфейса командной строки). Настройка Vagrant осуществляется через конфигурационный файл пакета или через передачу флагов в командной строке, что более удобно.
Установка и настройка vagrant
Vagrant — средство автоматизации работы с виртуальными машинами, позволяет быстро создавать машины указывая в качестве образа box-файл, который содержит всю необходимую информацию и устанавливает все компоненты виртуальной среды.
Машине можно задать IP-адрес и настроить при необходимости форвардинг портов, конечно внутрь машины можно попасть авторизовавшись под пользователем с sudo по ssh.
Vagrant — это гем Ruby, поэтому прежде всего потребуется пакетный менеджер RubyGems (можно обойтись и без него, но работать так несколько проще)
Пакет скачивается с официального сайта при помощи wget
Затем перейдя в каталог нужно выполнить от имени root или пользователя с sudo:
ruby setup.rb
ln -s /usr/bin/gem[*VERSION*] /usr/bin/gem
Если пакет уже был установлен его следует обновить до последней версии
gem update
--
system
Теперь устанавливаем сам vagrant
gem install
--
version '= 0.6.9' vagrant
Образами vagrant являются box файлы, которые можно скачать и указывать при создании машин.
Для примера скачаем при помощи wget один из образов
wget files.vagrantup.com/lucid32.box
Это Ubuntu с 512 МБ ОЗУ и 40 ГБ жесткого диска с текущей директорией проброшенной в /vagrant виртуальной машины и портом 22222 на 22 гостевого хоста.
Создаем конфигурацию машины (cucid32 здесь — ее имя)
vagrant box add cucid32 /home/vagrant/lucid32.box
На практике vagrant часто используется с приложениями на ruby-on-rails. Создадим приложение и перейдем внутрь появившегося каталога
rails new app
cd app
В нем теперь можно создать виртуальную машину
vagrant init lucid32
В корне проекта при этом создастся Vagrantfile ( в нем среди прочего запись config.vm.box = «lucid32»)
Включаем гостевой хост
vagrant up
Внутрь можно попасть выполнив
vagrant ssh
Вывод whoami покажет, что используется профиль пользователя vagrant с правами sudo
Рассмотрим одну из самых частых задач — форвардинг портов (например, для rails приложения).
mcedit Vagrantfile
config.vm.forward_port "rails"
, 3000, 3000
Выходим из машины в гостевую систему
exit
Перезагружаем гостевую машину
vagrant reload
В каталоге /vagrant стартуем приложение на rails
cd /vagrant
bundle exec rails s
netstat покажет, что порт 3000 успешно пробросился на порт 3000 гостевого хоста. Базовая настройка Vagrant на этом завершена.
Самые распространенные команды для работы с оболочкой:
- vagrant status — выводит статус
- vagrant suspend — приостанавливает работу машины
- vagrant resume — возобновляет работу после suspend
- vagrant hault — выключает машину
- vagrant package — создает образ помещая его в box файл
- vagrant destroy — уничтожает vagrant машину
Читайте также про менеджер пакетов Ruby RVM