Это старая версия документа!
Vagrant
Установка
$ apt install -f $ apt --fix-broken install $ apt install ruby-dev vagrant $ apt install virtualbox virtualbox-ext-pack
$ modprobe -a vboxguest vboxsf vboxvideo
$ modprobe vboxnetadp
$ modprobe vboxnetflt
Коробочки
- debian/contrib-jessie64 - Vanilla Debian 8 "Jessie" build with contrib vboxsf kernel module
Плагины
Системы управления конфигурацией
Docker - по сути это некий контейнер в который вы можете засунуть операционную систему, свой софт и базу данных и запустить его. У контенеров есть слои, ОС - нижний слой, софт выше слой, и ваше приложение и данные - верхний слой. Контенеры удобны для переноса приложения и сопровождающего окружения на сервер или в облако. Docker не создает виртуальную систему, а только эмулирует ее пробрасывая системные вызовы и работает стабильно только в Linux. С недавнего времени появилась версия для MacOS. Обычно сброка бокса описана в файле Dockerfile.
Vagrant, же, напротив - базируется на системах виртуализации (VirtualBox, libvirt, xen). С самого начала он создает полноценную виртуальную машину, выполняет скрипт provision, который устанавливает все окружение и настраивает его. Vagrant работает на всех операционных системах в силу своей природы.
- Shell — старые добрые shell-скрипты. В XXI веке уже не интересно.
- Ansible — молодая, набирающая обороты, система управления конфигурацией.
- Chef — про него, пожалуй, слышали все. Поддерживается standalone (Chef Solo) и серверная (Chef Client) версии.
- Docker — модная в последнее время система, поддерживающая концепцию Immutable Server.
- Puppet — одна из наиболее распространенных систем управления конфигурацией. Поддерживается standalone и серверная версия.
- Salt — система управления конфигурацией Salt Stack.
Системы виртуализации
- virtualbox
- lxc
- docker
Создание коробки из рабочей виртуальной машины
У нас есть виртуальная машина с наименованием "vm". В отключено состоянии выполняем команду от root. Где /Users/mirocow/vagrant/vm.box является путем до создаваемой коробки.
$ rm /Users/mirocow/vagrant/vm.box $ vagrant package --base vm --output /Users/mirocow/vagrant/vm.box
Запуск локальных коробок
$ vagrant box add foo-box /path/to/vagrant-box.box $ vagrant init foo-box $ vagrant up