Vagrant: самый простой и быстрый способ создания изолированной среды разработки

Tip 7: Default to the Hyper-V Provider

While adding the default provider to your Vagrantfile is useful, it means you need to remember to do it with each new Vagrantfile you create. If you don’t, Vagrant will trying to download VirtualBox when you the first time for your new box. Again, VirtualBox doesn’t work alongside Hyper-V, so this is a problem.

You can set your default provider on a user level by using the VAGRANT_DEFAULT_PROVIDER environmental variable. For more options (and details), this is the relevant page of Vagrant’s documentation. Here’s how I set the user-level environment variable in PowerShell:

Again, you can also set the default provider in the Vagrant file (see Trick 3), which will prevent this issue on a per project basis. You can also just add when running . The choice is yours.

How to install Vagrant on Ubuntu 18.04

8 Декабря 2020
|

Ubuntu

Vagrant — это инструмент командной строки для создания сред виртуальных машин и управления ими. По умолчанию Vagrant может подготавливать машины поверх VirtualBox, Hyper-V и Docker. Другие поставщики, такие как Libvirt (KVM), VMware и AWS, могут быть установлены через систему плагинов Vagrant.

В этом руководстве мы покажем вам, как установить Vagrant на компьютер с Ubuntu 18.04. Мы будем использовать поставщика VirtualBox, который является поставщиком Vagrant по умолчанию. Те же шаги можно использовать для Ubuntu 16.04 Xenial Xerus.

Установите Vagrant на Ubuntu 

Чтобы установить Vagrant в вашей системе Ubuntu, выполните следующие действия:

1. Установка VirtualBox 

Как упоминалось во введении, мы подготовим машины поверх VirtualBox, поэтому первым шагом будет установка пакета VirtualBox, который доступен в репозиториях Ubuntu:

Если вы хотите установить последнюю версию VirtualBox из репозиториев Oracle, проверьте это руководство.

2. Установка Vagrant 

Пакет Vagrant, доступный в репозиториях Ubuntu, довольно устарел. Мы скачаем и установим последнюю версию Vagrant с официального сайта Vagrant.

На момент написания этой статьи последней стабильной версией Vagrant была версия 2.2.6. Прежде чем продолжить следующие шаги, проверьте страницу Vagrant Download, чтобы узнать, доступна ли более новая версия.

    Начните с обновления списка пакетов:

Загрузите пакет Vagrant, используя следующую команду:

    После загрузки файла установите его, набрав:

3. Проверьте установку Vagrant. 

Чтобы убедиться, что установка прошла успешно, выполните следующую команду, которая выводит версию Vagrant:

Результат должен выглядеть примерно так:

Начало работы с Vagrant 

Теперь, когда Vagrant установлен в вашей системе Ubuntu, давайте создадим среду разработки.

Первый шаг — создать каталог, который будет корневым каталогом проекта и будет содержать файл Vagrantfile. Vagrantfile — это файл Ruby, в котором описывается, как настроить и подготовить виртуальную машину.

Создайте каталог проекта и переключитесь в него с помощью:

    Затем инициализируйте новый Vagrantfile с помощью команды и укажите поле, которое вы хотите использовать.

Коробки — это формат пакета для сред Vagrant, который зависит от поставщика. Вы можете найти список общедоступных ящиков Vagrant на странице каталога ящиков Vagrant .

В этом примере мы будем использовать поле. Выполните следующую команду, чтобы инициализировать новый Vagrantfile:

    Вы можете открыть Vagrantfile , прочитать комментарии и внести изменения в соответствии с вашими потребностями.

Выполните команду, чтобы создать и настроить виртуальную машину, как указано в Vagrantfile:

    Vagrant также монтирует каталог проекта на виртуальной машине, что позволяет вам работать с файлами вашего проекта на вашем хост-компьютере.

Чтобы подключиться к виртуальной машине по ssh, запустите:

    Вы можете остановить виртуальную машину с помощью следующей команды:

    Следующая команда останавливает машину, если она работает, и уничтожает все ресурсы, созданные во время создания машины:

Вывод 

Вы узнали, как установить и использовать Vagrant на вашем компьютере с Ubuntu 18.04. Мы также показали вам, как создать базовую среду разработки.

Чтобы найти дополнительную информацию о Vagrant, посетите официальную страницу документации Vagrant .

Боксы для VirtualBox

Как говорится в предыдущем руководстве, VirtualBox является провайдером Vagrant по умолчанию. Это значит, что добавленный бокс (precise32) создан специально для VirtualBox и не будет работать с другими провайдерами. Бокс precise32 является образом гостевой машины Ubuntu Precise 12.04 32 bit. Тем не менее, существуют боксы с другими операционными системами, которые также можно добавить.

Vagrant github project предоставляет официальные ссылки на другие боксы, которые можно добавить на Vagrant, работающий на VirtualBox. Доступны 3 официальных бокса : precise64 (64-битоваяверсияUbuntu Precise 12.04), lucid32 и lucid64 (для дистрибутива Lucid Ubuntu 12.04).

Кроме того, существует веб-сайт сообщества с огромным количеством других боксов, доступных для VirtualBox и различных других провайдеров. Тем не менее, данные боксы не были утверждены Vagrant project, следовательно, нужно осознавать риск их использования. При желании добавить какой-либо их этих боксов на Vagrant, следуйте инструкциям предыдущего руководства.

Vagrantfile

Итак, этот файл — центральная часть всей Вашей инфраструктуры, Вашей работы с Vagrant. По сути, «проект в Vagrant» = Vagrntfile и наоборот, Vagrntfile = «проект в Vagrant». Файл содержит детальное ( на столько, на сколько Вам это нужно) описание виртуальных машин, используемых в вашем проекте. Да, да, как мы увидели в прошлый раз, Vagrantfile может содержать описание более чем одной ВМ. Основную информацию по Vagrantfile читать ТУТ. Я опять же, сконцентрируюсь на основных моментах.

Никто не мешает создать Вам этот файл вручную. Однако, для этих целей существует команда vagrant init, которая, будучи запущенной в предназначенном для проекта каталоге, создаст Vagrantfile с некоторым стандартным содержимым и примерами использования, например:

Если очистить файл от комментариев, получится примерно следующее:

По сути, очень минималистичная заготовка. Если же воспользоваться vagrant init ubuntu/xenial64,т.е.. с указанием целевого бокса, то получим следующее содержимое:

Содержимое не сильно отличается, но мы видим что выбрано использование определенного бокса- шаблона. Весь набор доступных опций для конфигурации vagrantfile, можно найти в соответствующем разделе документации. Я же разберу продемонстрированный ранее пример. Еще раз приведу его в качестве образца, чтобы потом разобрать по пунктам:

Давайте теперь возьмем за основу первую часть конфигурационного файла. Я визуально разбил его на 4 цветовых секции — красную, оранжевую, зеленую и синюю:

Каждая секция начинается  ключевым выражением config.* и заканчивается ключевым словом end. Табуляция не обязательна, но я применяю ее для облегчения понимания структуры файла.

Красным цветом выделен «глобальный» заголовок — это опции, которые применяются для всего проекта. Если хотите, любую из них можно переопределить на уровне конфигурации конкретной виртуальной  машины. Например Вы можете задать, что бокс по умолчанию у Вас — Ubuntu сервер (как и тут — указано config.vm.box = «ubuntu/xenial64»), но в какой-то машине Вы хотите Centos или redhat или Debian. Тогда VM, у которых ничего не указано в опции config.vm.box, будут использовать ubuntu/xenial64, аVM у которых есть своя опция используемого бокса, будут использовать нечто отличное.

Далее, оранжевым цветом выделена секция, отвечающая за идентификацю VM — т.е. задание ее отображаемого имени (имени хоста в настройках ОС — в данном случае *.vm.hostname = «web-server»), тип и адрес сетевого адаптера, название используемого бокса ( если не хотим использовать определенный ранее в глобальном контексте).

Зеленым цветом выделена секция, отвечающая за настройку виртуального провайдера- указывается его тип, имя, которое будет отображаться в его интерфейсе, число ядер и объем оперативной памяти VM.

И наконец синим цветом выделена секция исполняемых при запуске гостевой ОС команд. С т.з. структуры Vagrant файла, она состоит из одной опции и относится к оранжевой секции, но с идеологической т.з. я решил выделить ее отдельно. Vagrant может сам,при создании и запуске VM выполнить ряд произвольных команд, тем самым автоматизируя Ваши действия по первичной конфигурации машины, снимая с Вас рутинные задачи. Все, что находится между ключевыми словами SHELL будет выполнено от имени root в командной строке гостевой ОС.

Начало работы с Vagrant

Теперь, когда Vagrant установлен в вашей системе Ubuntu, мы покажем вам, как создать среду разработки, которая является наиболее распространенным вариантом использования.

Первый шаг – создать каталог, который будет корневым каталогом проекта и содержать файл Vagrantfile. Vagrantfile – это файл Ruby, который описывает, как настроить и предоставить виртуальную машину.

Создайте каталог проекта и переключитесь на него с помощью:

mkdir ~/my-first-vagrant-project
cd ~/my-first-vagrant-project

Следующим шагом является, чтобы инициализировать новый файл vagrantfile, используйте команду  и укажите поле, которое мы хотим использовать.

Boxes являются форматом пакета для сред Vagrant и зависит от поставщика. Вы можете найти список общедоступных бродячий коробки на каталог страницы Vagrant.

В этом примере мы будем использовать коробку  . Для инициализации нового файла Vagrantfile выполните следующую команду:

vagrant init centos/7
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, почитайте комментарии и сделайте настройки в соответствии с вашими потребностями.

Теперь мы можем запустить команду  , которая поможет вам создать и настроить виртуальную машину в соответствии с файлом 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-first-vagrant-project/ => /vagrant

Копировать

Как вы можете видеть из вывода выше, vagrant также монтирует каталог проекта в  в виртуальной машине, который позволяет работать над вашим проектом файлы на вашей машине.

Для ssh в виртуальную машину просто запустите:

vagrant ssh

Вы можете остановить виртуальную машину с помощью следующей команды:

vagrant halt

Эта команда останавливает работающую машину, если она запущена, и уничтожает все ресурсы, созданные во время создания машины:

vagrant destroy

Как установить Vagrant на CentOS 7

В этой статье я собираюсь продемонстрировать, как использовать vagrant для раскрутки виртуальной машины за несколько минут в CentOS 7 . Но сначала небольшое знакомство с бродягой.

Vagrant – это проект с открытым исходным кодом для создания и подготовки переносимых виртуальных машин. С vagrant вы можете раскрутить несколько виртуальных машин за невероятно короткое время. Vagrant позволяет вам попробовать несколько операционных систем или дистрибутивов, не беспокоясь о загрузке файлов ISO.

Требования

Нам нужно скачать virtualBox. Vagrant работает на AWS, Docker и VMware тоже. Но я собираюсь использовать VirtualBox в этом уроке.

Теперь вы можете спросить: почему VirtualBox ? Как я уже говорил выше, на самом деле не имеет значения, какое программное обеспечение для виртуализации вы выберете. Любой будет хорошо работать для вас, потому что любые машины Linux имеют одинаковую базу команд. Суть в том, что вам нужно иметь среду виртуализации, например virtualbox, чтобы запускать программное обеспечение для обеспечения доступа, такое как vagrant.

Шаг 1. Установка VirtualBox 5.1 в CentOS 7

Хотя на сайте www.tecmint.com есть несколько руководств по установке virtualBox (например, Установка VirtualBox на CentOS 7), тем не менее, я быстро проведу установку VirtualBox 5.1.

Сначала установите зависимости VirtualBox.

Затем добавьте хранилище VirtualBox.

Теперь установите и соберите модуль ядра.

Шаг 2: Установка Vagrant на CentOS 7

Здесь мы загрузим и установим последнюю версию Vagrant (т.е. 1.9.6 на момент написания) с помощью команды yum.

Создайте каталог, куда вы собираетесь установить свой любимый дистрибутив Linux или операционную систему.

Установите ваш любимый дистрибутив или операционную систему.

Файл с именем Vagrantfile будет создан в вашем текущем каталоге. Этот файл содержит параметры конфигурации для ваших виртуальных машин.

Загрузите свой сервер Ubuntu.

Дождитесь окончания загрузки. Это на самом деле не занимает много времени. Ваша скорость интернета также учитывается.

Список доступных предварительно настроенных ящиков можно найти на странице https://app.vagrantup.com/boxes/search.

Шаг 3: Управление бродячими ящиками с Virtualbox

Запустите Virtualbox, чтобы увидеть предварительно собранную 64-битную виртуальную машину Ubuntu, загруженную в virtualbox с конфигурацией, определенной в Vagrantfile. Это как любая другая виртуальная машина: без разницы.

Если вы хотите установить другое окно (скажем, CentOS7 ), измените файл Vagrantfile в вашем текущем каталоге (если там находится ваш Vagrantfile) с вашим любимым редактором. Я использую редактор vi для своей работы. Сразу под строкой 15 введите:

Вы также можете настроить IP-адрес и имена хостов для еще не загруженного блока в Vagrantfile. Вы можете сделать это для максимально возможного количества ящиков.

Чтобы настроить статический IP-адрес, раскомментируйте строку 35 и измените IP-адрес по своему выбору.

После того, как вы закончите с этой модификацией, введите команду ниже, чтобы поднять машину.

Управлять этим виртуальным сервером чрезвычайно просто.

Вывод

В этом уроке мы использовали vagrant для быстрой сборки сервера без особых хлопот. Помните, нам не нужно было беспокоиться о загрузке ISO-файла. Наслаждайтесь вашим новым сервером!

Что такое Vagrant

Vagrant – это открытые программные средства для конфигурирования и развертывания нескольких сред разработки. Данная программа работает на Linux, Mac OS X и Windows, и хотя для управления виртуализацией она по умолчанию использует VirtualBox, ее можно использовать и с другими провайдерами, как VMware и AWS.

Преимущество Vagrant состоит в том, что, используя для конфигурирования центральную машину, можно развернуть несколько виртуальных выделенных машин, содержащих все необходимое. Кроме того, Vagrant позволяет нескольким пользователям разворачивать разнообразные рабочие среды с абсолютно одинаковыми конфигурациями.

Использование команд vagrant

Все команды, которые описаны тут, должны выполняться в том каталоге, в котором
лежит Vagrantfile.

Пожалуй, самые необходимые команды это vagrant up, vagrant destroy, vagrant
suspend, vagrant resume, vagrant ssh.

Теперь по порядку.
vagrant up
Эта команда смотрит в Vagrantfile и создаёт виртуальную машину согласно
описанию.
Если в Vagrantfile описано несколько мащин, то вы должны явно указать её имя. В
противном случае будут подняты все машины. О мультимашинном Vagrantfile мы
поговорим позже.

vagrant destroy
Эта команда уничтожает машину полностью, найдя её описание в Vagrantfile.
Точно также, как и при создании машины, вы должны указать имя машины, если их
несколько.

Для того, чтоб удалить машину без подтверждения, используйте ключ -f

vagrant destroy -f 

Всегда сначала уничтожайте машину, а только потом удаляйте её из
Vagrantfile! Иначе вы получите ошибку, что конфигурации такой машины не найдено.

vagrant suspend
Эта команда отправляет машину в сон (аналог VirtualBox — сохранить состояние)

Требует наличие дополнительного свободного места, так как сохраняет ОЗУ
вируталки.

После этого, машину можно «воскресить» командой:

vagrant resume
Как уже сказано выше, эта команда пробуждает машину из сна.

vagrant ssh

Название команды также говорящее.
Этой командой очень просто подключиться к машине.
Если она одна, то подключение будет сразу.
Если машин несколько, то следует явно указать её имя.

Теперь еще парочку дополнительных команд, которые могут оказаться полезными.

vagrant global-status

Команда-исключение. Её можно выполнять в любой директории и она вернёт список
машин, вместе с состоянием и с дирекорией, в которой размещён Vagrantfile.
Пример использования:

ivan@Punka:~$ vagrant global-status
id       name   provider   state   directory                                   
-------------------------------------------------------------------------------
06bcbfa  dev    virtualbox running /home/ivan/infrastr 
a1a8f2b  ci     virtualbox running /home/ivan/infrastr 
 

Это удобно, если вы забыли(ну, разное бывает), в какой директории запустили
vagrant. Эта команда всё покажет и рааскажет.

vagrant halt

shutdown обычный.

vagrant port

показывает список проброшенных портов.
Пример:

vagrant port
 22 (guest) => 2222 (host)
 80 (guest) => 9999 (host)

vagrant reload
Эта команда перезагрузки — сначала выключает машину, потом поднимает.
Удобно, если надо применить изменения в конфигурации

Tip 1: Set Up Networking Correctly

Vagrant doesn’t know how to set up networking on Hyper-V right now (unlike other providers), so it’s up to you to get things working the way you like them. There are a few NAT networks already created on Windows 10 (depending on your specific build). Layered_ICS should work (but is under active development), while Layered_NAT doesn’t have DHCP. If you’re a Windows Insider, you can try Layered_ICS. If that doesn’t work, the safest option is to create an external switch via Hyper-V Manager. This is the approach I took. If you go this route, a friendly reminder that the external switch is tied to a specific network adapter. So if you make it for WiFi, it won’t work when you hook up the Ethernet, and vice versa. Instructions for adding an external switch in Hyper-V manager.

Обеспечение для виртуальных боксов (Provisioning)

Мы запустили с помощью Vagrant виртуальную машину, настроили подключение через ssh, и что дальше? Для нас как для разработчиков эта машина не представляет никакого инетерса, т.к. на ней, пока, ничего не установлено кроме операционной системы Ubuntu. Для разработки нашего web-проекта нам необходимо из получившейся заготовки виртуальной машины сделать полноценное виртуальное окружение — максимально точную копию того, что у нас находится на рабочем сервере. Для этого нам надо установить нужное программное обеспечение, к примеру, nginx или Apache, php, ruby, MySQL и т.д., т.е обеспечить наш виртуальный бокс необходимой провизией (Provisioning)

Для этих целей Vagrant позволяет использовать на выбор одно из двух решений — это или . Также, при необходимости, вы можете расширять Vagrant и использовать автоматизированного развертывания приложений (но это уже не относится к теме данной статьи).

Настройка Chef и Vagrant

В данной статье мы воспользуемся , чтобы продемонстрировать развертывания виртуальной машины. Для этого отредактируем конфигурационный файл Vagrantfile:

Vagrant::Config.run do |config|
  config.vm.box = "precise32-box"

  # Enable and configure the chef solo provisioner
  config.vm.provision :chef_solo do |chef|
    # We're going to download our cookbooks from the web
    chef.recipe_url = "http://files.vagrantup.com/getting_started/cookbooks.tar.gz"

    # Tell chef what recipe to run. In this case, the `vagrant_main` recipe
    # does all the magic.
    chef.add_recipe("vagrant_main")
  end
end

Обратите внимание, что мы используем URL для загрузки набора рецептов (cookbooks) для Chef. Вместо этого вы также можете просто скопировать набор рецептов в корневую директорию нашего Vagrant-проекта и подключить их через конфиг в Vagrantfile’е

Более подробно про это можно найти в разделе .

Запуск!

После настройки провизий для виртуальной машины, просто запускаем команду . Vagrant запустит виртуальную машину из образа и установит необходимый софт прописанный в рецептах. Если ваша виртуальная машина уже была запущена к этому моменту и вы ее не выключали, то просто перезагрузите ее командой , чтобы изменения вступили в силу.

После того как Vagrant завершит все необходимые действия и настройки системы, у вас будет полноценный настроенный web-сервер на виртуальной машине. Однако, пока вы еще не сможете увидеть свой web-проект на ней через браузер на вашем рабочем компьютере, т.к. мы еще не настроили проброс портов (port forwarding).

Чтобы убедится все же что наш простой сайт уже работает, вы можете подключится по ssh к виртуальной машине и в командной строке ssh-терминала набрать следующее:

$ vagrant ssh
...
vagrant@vagrantup:~$ wget -qO- 127.0.0.1
<h1>Hello from a Vagrant VM</h1>
vagrant@vagrantup:~$

Далее мы настроим проброс портов, чтобы вы могли увидеть свой сайт через браузер на своем компьютере.

Начало работы с Vagrant

Основное задание Vagrant – предоставлять  возможность быстро развернуть среду разработки. Это значит, что основные конфигурации устанавливаются один раз, после чего можно быстро развернуть виртуальные выделенные машины с одинаковым программным обеспечением и настройками. Для этого используются так называемые боксы, или виртуальные образы.

Итак, нужно установить бокс, который впоследствии будет использоваться несколькими средами Vagrant. Это можно сделать с помощью команды vagrant box add. Запустите данную команду, чтобы установить бокс precise32 с сайта Vagrant:

Должно появиться следующее извещение об успешном завершении: «Successfully added box ‘precise32’ with provider ‘virtualbox’!». Теперь на сервере есть образ VPS с операционной системой Ubuntu 12.04.

Каждый запускаемый проект создается с помощью такого бокса. Это значит, что если на данный момент существует 3 разных проекта, основанных на одном и том же боксе, то изменения одного или другого проекта не коснутся самого бокса. Теперь нужно установить первый проект, который будет развернут на основе только что добавленного в Vagrant бокса precise32.

Создайте для проекта новый каталог и перейдите в него:

Затем запустите команду инициализации:

Это действие создаст в данной папке Vagrantfile – центральный файл для конфигураций проекта. Но прежде чем развернуть гостевую машину, используя только что добавленный бокс, нужно отредактировать Vagrantfile:

Найдите следующую строку:

и замените ее на:

Это скажет программе использовать новый бокс. Сохраните изменения и выйдите из файла. Теперь можно развернуть гостевую машину при помощи следующей команды:

Это запустит VPS с Ubuntu 12.04 LTS. Чтобы использовать его, просто установите SSH-подключение:

Это действие перемещает в сессию SSH с новой гостевой машиной. Очень удобно то, что Vagrant по умолчанию разделяет root-папку проекта между центральной машиной (содержащей Vagrantfile) и папкой гостевой машины (/vagrant). Это значит, что можно сохранять файлы на гостевой машине, и они будут оставаться на центральной, и наоборот.

Завершив работу с гостевой машиной, можно выйти и вернуться к центральной машине при помощи следующей команды:

При необходимости удалить гостевую машину и все ее следы, выполните на центральной машине следующую команду:

Пожалуйста, обратите внимание, что файлы, которые были синхронизированы с центральной машиной, не будут удалены с нее. Кроме того, гостевую машину с этой конфигураций можно вновь развернуть при помощи той же команды «vagrant up»

Как пользоваться Vagrant

Vagrant собирает виртуальные машины исходя из конфигурационного файла Vagrantfile. Вы можете создавать и использовать для быстрого развёртывания свои варианты, либо устанавливать различные операционные системы подготовленные другими. Большой сборник содержится в Vagrant Cloud, там вы можете выбрать заинтересовавшую вас коробку и собрать, а затем запустить с помощью команды вида:

vagrant init автор/коробка
vagrant up

Например, offensive-security подготовили kali-linux-light,

тогда установка и запуск выполняются командами:

vagrant init offensive-security/kali-linux-light
vagrant up

Примеры других популярных систем:

Для разных систем выделите отдельные папки, то есть запускайте приведённые выше команды в разных папках.

Vagrant умеет не только скачивать и запускать коробки, он также умеет запускать внутри них пользовательские скрипты — поэтому некоторые системы могут устанавливаться сложнее, чем показано здесь. Для них может потребоваться скачивание полного архива. Затем нужно будет перейти в папку, содержащую файл Vagrantfile и уже там запустить vagrant up.

QUIZ TIME :)

Question 1:

How do you start a virtual machine with Vagrant?

vagrant up

Question 2:

A vagrant box must exist on the local system before the vagrant up command can be called.

No

Question 3:

How does Vagrant allow for keeping files synchronised between the host and the guest?

shared folders

Question 4:

How do we stop our vagrant-managed virtual machine from running?

vagrant suspend (save the state)

vagrant halt (shutdown)

vagrant destroy (shutdown and delete)

Question 5:

The vagrant status command tells us the current state of the vagrant-managed virtual machine for our project.

true

In this article, we learnt how to install, use, up and run a Vagrant Box in windows 10. I hope this helps you in your test environment needs.

Thanks.

-Onur

Настройка окружения

Параметры конфигурации виртуальной машины и всего окружения настраиваются через файл Vagrantfile:

Примечание

По умолчанию текущий каталог проекта (в котором находится ) уже синхронизируется с каталогом виртуалки  (в корне виртуальной системы).  веб сервера  завернут на этот же каталог. Поэтому, дополнительно синхронизацию на  указывать не нужно, но я привел этот конфиг как пример для бокса, у которого не будет предустановленного . 

Примечание

Для проверки окружения виртуальной машины, нужно создать файл  внутри вашего проекта и перезагрузить конфиг Vagrant:

После этого откройте в браузере страницу  — это и будет ваш .

Подготовить окружение виртуальной машины (provision, обеспечение) под наш проект мы можем несколькими способами. Один из них, это запуск  скрипта, в котором прописываются все действия необходимые для настройки окружения. Давайте установим  (здесь пример установки Apache). Создайте в корне проекта файл :

И пропишите в  что необходимо запустить этот скрипт после старта виртуальной машины:

Перезагрузите конфиг с обновлением обеспечения:

Настройка

После установки Vagrant и VirtualBox желательно перезагрузить компьютер. Если всё прошло без косяков, то можно приступить к запуску первой виртуальной машины.

Для этого необходимо ввести следующие команды:

Тем самым мы создали Vagrantfile, в котором заданы настройки по-умолчанию, а именно:

  • В качестве дистрибутива используется Ubuntu 14.04
  • Порт 22 гостевой (виртуальной) машины пробрасывается на 2222 порт хост машины
  • Текущая директория ./vagrant_demo пробрасывается на директорию /vagrant виртуальной машины
  • Гостевой системе выделяется 512 МБ ОЗУ и 40 ГБ жесткого диска

Содержимое Vagrantfile ничто иное как код на языке Ruby, задающий определённые характеристики и поведение.

ubuntu/trusty64 — это кодовое название vagrant box, т.е. готового образа системы. Все образы так называемых vagrant boxes можно найти здесь.

Для того чтобы запустить виртуальную машину необходимо выполнить:

Ниже представлен скриншот процесса загрузки бокса и его последующей установки

После успешной загрузки и настройке достаточно выполнить команду

Но, в стандартной Windows отсутствует утилита ssh, поэтому можно получить вот такое сообщение об ошибке:

`ssh` executable not found in any directories in the %PATH% variable. Is anSSH client installed? Try installing Cygwin, MinGW or Git, all of whichcontain an SSH client. Or use your favorite SSH client with the followingauthentication information shown below:

Но не стоит расстраиваться, достаточно установить пакет утилит Cygwin и прописать в переменную PATH путь до бинарников.

После успешного выполнения команды появится окно с шеллом:

Поздравляю! Первый этап выполнен. Для отключения виртуалки необходимо выполнить команду из хост-машины:

Список основных команд:

  • vagrant halt — останавливает виртуальную машину
  • vagrant destroy — удаляет виртуальную машину
  • vagrant suspend — «замораживает» виртуальную машину
  • vagrant global-status — выводит список всех ранее созданных виртуальных машин в хост-системе
  • vagrant ssh — подключается к виртуальной машине по SSH

Демо пример с Vagrant, поднимающим отдельную виртуальную машину с виртуальным окружением Python на борту, а также Django приложением, можно найти на моём гитхаб репозитории. Достаточно склонировать реп, перейти в папку и вызвать команду vagrant up. Vagrant установит Ubuntu 14.04.3 LTS и все необходимые пакеты, по завершению установки достаточно будет зайти на виртуальную машину и вызвать runserver.

Django приложение можно увидеть на 18000 порту хост-машины.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: