===== Как установить Vagrant на Ubuntu =====
[[https://www.vagrantup.com/|Vagrant]] — это инструмент командной строки для создания виртуальных машин и управления ими.
По умолчанию Vagrant может подготавливать машины поверх VirtualBox, Hyper-V и Docker. Другие поставщики, такие как Libvirt (KVM), VMware и AWS, могут быть установлены через систему плагинов Vagrant.
Vagrant обычно используется разработчиками для создания среды разработки, которая работает в нескольких операционных системах.
В этой статье описывается, как установить Vagrant на машину с Ubuntu 20.04. Мы будем использовать VirtualBox, который является поставщиком Vagrant по умолчанию.
===== Установка Vagrant на Ubuntu =====
Мы подготовим виртуальные машины поверх VirtualBox.
Если [[:how-to-install-virtualbox-on-ubuntu-20-04:|VirtualBox]] не установлен в вашей системе, вы можете установить его, запустив:
sudo apt update
sudo apt install virtualbox
Пакет Vagrant, доступный в репозиториях Ubuntu, не обновляется регулярно. Мы скачаем и установим последнюю версию Vagrant с официального сайта Vagrant.
На момент написания этой статьи последней стабильной версией Vagrant была версия 2.2.9. Посетите [[https://www.vagrantup.com/downloads.html|страницу загрузок Vagrant,]] чтобы узнать, доступна ли новая версия Vagrant.
Загрузите пакет Vagrant с помощью ''[[:wget-command-examples:|wget]]'' :
curl -O https://releases.hashicorp.com/vagrant/2.4.0/vagrant_2.4.0-1_amd64.deb
После загрузки файла установите его, набрав:
sudo apt install ./vagrant_2.4.0-1_amd64.deb
Чтобы убедиться, что установка прошла успешно, выполните следующую команду, которая распечатает версию Vagrant:
vagrant --version
Результат должен выглядеть примерно так:
Vagrant 2.2.9
===== Начало работы с Vagrant =====
Создать проект Vagrant так же просто, как настроить корневой каталог проекта и определить Vagrantfile.
Выполните следующие команды, чтобы создать каталог и [[:linux-cd-command:|перейти]] в него с помощью:
mkdir ~/my-vagrant-projectcd ~/my-vagrant-project
Затем инициализируйте новый Vagrantfile с помощью команды vagrant ''vagrant init'' , за которой следует поле, которое вы хотите использовать.
Коробки — это формат пакета для сред Vagrant, который зависит от поставщика. Вы можете найти список общедоступных ящиков [[https://app.vagrantup.com/boxes/search|Vagrant на]] странице [[https://app.vagrantup.com/boxes/search|каталога ящиков Vagrant]] .
В этом примере мы будем использовать поле ''centos/8'' :
vagrant init centos/8
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
Vagrantfile — это файл Ruby, описывающий, как настроить и подготовить виртуальную машину. Вы можете открыть [[https://www.vagrantup.com/docs/vagrantfile/|Vagrantfile]] , прочитать комментарии и внести изменения в соответствии с вашими потребностями.
Запустите команду ''vagrant up'' чтобы создать и настроить виртуальную машину, как указано в Vagrantfile:
vagrant up
==> default: Configuring and enabling network interfaces...
default: SSH address: 192.168.121.74:22
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Rsyncing folder: /home/linuxize/Vagrant/my-vagrant-project/ => /vagrant
Vagrant [[:how-to-mount-and-unmount-file-systems-in-linux:|монтирует]] каталог проекта в ''/vagrant'' на виртуальной машине. Это позволяет вам работать с файлами вашего проекта на вашем хост-компьютере.
Чтобы подключиться к виртуальной машине по ssh, запустите:
vagrant ssh
Вы можете остановить виртуальную машину с помощью следующей команды:
vagrant halt
Чтобы уничтожить все ресурсы, созданные при создании машины, введите:
vagrant destroy