Фабрика образов виртуальных машин Vagrant
Виртуальная машина с предустановленными docker и docker-compose. Образ на vagrant cloud
vagrant init zoid/ubuntu-server-18.04-docker --box-version 0.1
vagrant up
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "zoid/ubuntu-server-18.04-docker"
config.vm.box_version = "0.1"
end
git clone http://gitlab.isoit.ru/zoid/vagrant-box-factory.git
cd vagrant-box-factory
# пакетирование машины в файл образа
VAGRANT_VAGRANTFILE=Vagrantfile.u18-docker vagrant up
VAGRANT_VAGRANTFILE=Vagrantfile.u18-docker vagrant package --output ubuntu-server-18.04-docker.box
VAGRANT_VAGRANTFILE=Vagrantfile.u18-docker vagrant halt
# добавление файла образа в систему
vagrant box add ubuntu-server-18.04-docker ubuntu-server-18.04-docker.box
# инициализация Vagrantfile
vagrant init -m ubuntu-server-18.04-docker
# запуск
vagrant up
Виртуальная машина для проектов ruby-on-rails 5
Учитывая, что комбинаций версий окружения может быть великое множество, рекомендуется собирать образ под конкретный проект, предварительно скорректировав версии в файле playbooks/u18-rails5.yml
Окружение по-умолчанию: ruby-2.6.1, rails-5.1.7, postgres-10.9 node-12.7 yarn-1.17.3 redis-4.0.9
Параметры подключения к postgres: host localhost, port 5432, username dbuser, password: dbpassword.
Параметры подключения к redis: port 6379
git clone http://gitlab.isoit.ru/zoid/vagrant-box-factory.git
cd vagrant-box-factory
Корректируем версии окружения в файле playbooks/u18-rails5.yml
# пакетирование машины в файл образа
VAGRANT_VAGRANTFILE=Vagrantfile.u18-rails5 vagrant package --output my-project-environment.box
# добавление файла образа в систему
vagrant box add my-project-environment my-project-environment.box
vagrant init -m my-project-environment
# Vagrantfile
Vagrant.configure("2") do |config|
# ...
config.vm.box = "my-project-environment"
end