Бродяга

Бродячий учебник

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

Зачем беспокоиться?

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

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

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

Итак, приступим!

Предварительные условия

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

  1. Получите VirtualBox здесь
  2. Получите Vagrant здесь

Кроме того, если вы используете Windows, вам понадобится SSH-клиент, вы можете установить Git Bash, который отлично работает в Windows с параметрами установки по умолчанию.

1.  Бродячие коробки

Vagrant Box - это термин для виртуальных машин, которыми управляет Vagrant. Вы можете получить коробки Vagrant, которые содержат только операционную систему, такую ​​как Ubuntu, CentOS и т. Д. Или они могут содержать предварительно настроенный стек LAMP, стек MEAN или другое программное обеспечение, которое может упростить процесс разработки и тестирования.

Например, если вы пишете тему WordPress, вы можете получить ящик Vagrant с уже запущенным ядром WordPress. Вы можете поделиться своей папкой проекта, где у вас есть содержимое вашей темы, с этой виртуальной машиной. Убедитесь, что новая тема работает так, как вы ожидали. Как только вы закончите с темой, просто уничтожьте коробку, оставив только файлы проекта, которые, как вы теперь знаете, будут нормально работать в реальном мире.

Вы можете изучить эти коробки здесь. Мы собираемся начать с простого Ubuntu 16.04 LTS коробка. Вы можете увидеть это в списке как ubuntu / xenial64, если вы перейдете по ссылке выше.

Откройте свой терминал и создайте папку для своих экспериментов с Vagrant.

$ mkdir vagrant_box
$ cd vagrant_box

В этой папке мы можем инициализировать нашу среду Vagrant, запустив:

$ vagrant init

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

Теперь вы можете запустить команду vagrant up, и поскольку вы запускаете ее впервые, ей придется загрузить образ виртуальной машины из приложения.бродяга.ком. Это может занять много времени в зависимости от вашего интернет-соединения, но как только он будет загружен, последующие бродить команды для аналогичных vagrant init ubuntu / xenial64 не займет много времени, потому что изображение теперь локально сохраняется на вашем компьютере. Убедитесь, что вы находитесь в том же каталоге (vagrant_box) где ранее был размещен Vagrantfile.

$ бродяга

После этого вы можете ssh в поле как пользователь-бродяга с привилегиями root. Просто запустите следующее:

$ бродячий ssh

поздравляю! Вы только что вошли в свой первый Vagrant Box. Теперь, когда все началось, давайте изучим несколько основных команд бродяг, прежде чем углубляться в Vagrantfile. Просто введите exit и нажмите для выхода из терминала ВМ. Бродячий ящик по-прежнему будет работать в фоновом режиме.

Общая команда Vagrant

Если вы хотите остановить работающее окно, выполните команду:

$ бродячая остановка

Для перезапуска вы можете использовать vagrant up

Если хотите, вы также можете использовать

$ бродячая приостановка
$ бродячее резюме

Это приостановит работу виртуальной машины и безопасно восстановит ее. Если вы вносите изменения в Vagrantfile и хотите, чтобы изменения отображались, используйте команду:

$ бродячая перезагрузка

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

Чтобы перечислить все бродячие ящики и их статус (запущены или остановлены), используйте команду:

$ бродячий глобальный статус

Чтобы удалить бродячий ящик и все его личное содержимое, из каталога бокса (где находится его соответствующий Vagrantfile) запустите:

$ бродяга уничтожить

Базовый образ, который вы скачали ранее, по-прежнему будет существовать, если вы захотите создать новые ящики позже. Если вы хотите увидеть все изображения, которые сохранены локально, запустите:

$ список бродячих ящиков

Чтобы удалить само изображение коробки, запустите:

$ vagrant box удалить

После этого вам придется снова загрузить коробку, если в этом возникнет необходимость.

Проверка Vagrantfile

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

1.   Общая папка

Большинство бродячих ящиков поставляются с предварительно настроенными общими папками. Например, если вы проверите Vagrantfile, который мы создали при первом запуске бродячая инициализация вы заметите запись, которая является закомментированной строкой,

# config.vm.synced_folder "… / data", "/ vagrant"

Доступ к синхронизированной папке может получить как бродячий ящик, так и хост-машина. Первый аргумент после config.vm.synced_folder указывает путь к папке на хосте, а второй аргумент указывает путь, по которому эта папка будет смонтирована в гостевом бродячем поле. По умолчанию папка, в которой вы создали Vagrantfile, также используется совместно с vagrant box.

Давайте проверим это, введя ssh в наш бродячий ящик.

$ бродячий ssh

Здесь перечислите файловые системы.

$ df -h

Вы можете видеть, что есть большая файловая система бродяга установлен на / бродяга дорожка. Причина, по которой он такой большой, заключается в том, что папка Vagrantfile на моем хост-компьютере находится в разделе размером 632 ГБ, и папка там также может вырасти до этого размера. Поскольку это та же папка, которая используется совместно с ящиком, она обеспечивает безумный объем хранилища.

Вы можете проверить содержимое / бродяга и они те же, что вы видите на своем хосте, а именно один Vagrantfile и другой файл журнала.

Вы можете добавить дополнительную общую папку, в которой появится комментарий, объясняющий синтаксис общей папки.

Вот так,

В этом случае папка с именем Общая папка добавляется, что на один каталог выше, поэтому перед ним стоит двойная точка. Эта папка смонтирована на / var / www / html  внутри коробки. Именно здесь большинство веб-серверов, таких как apache и nginx, ищут веб-контент, который они хотят обслуживать.

Вы можете просто разместить файлы проекта, HTML, CSS и JS в Общая папка где вы работаете над ним на своем хост-компьютере, используя графические текстовые редакторы, такие как Atom и VSCode . Бродячий ящик будет действовать как сервер производственного уровня, который будет обслуживать эти файлы.

Теперь вопрос в том, как мы видим, что эти html-файлы обслуживаются как веб-страница. Какое имя хоста ввести в браузере?

2.   Сети

По умолчанию vagrant предоставляет несколько полезных конфигураций. Запрос, отправленный вашим браузером на localhost через порт 8080, перенаправляется на порт 80 вашего бродячего ящика. Итак, если у вас есть веб-сервер, работающий на вашем бродячем ящике, который прослушивает порт 80 (стандартный порт http), вы можете увидеть эту веб-страницу, посетив http: // localhost: 8080

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

config.vm.сеть "private_network", ip: "192.168.33.10 "

Сохраните внесенные вами изменения и запустите бродячая перезагрузка перезапустить коробку с новой конфигурацией. Теперь у него есть выделенный частный IP-адрес 192.168.33.10, к которым может получить доступ только ваш хост. Итак, теперь вы можете открыть браузер и ввести http: // 192.168.33.10, и вы можете видеть, что веб-страницы обслуживаются через стандартный порт 80 http.

Заключение

Как видите, Vagrant может помочь вам запускать ваши приложения локально, как они будут работать в производственной среде, в то же время вы можете работать с ними, используя IDE и текстовые редакторы, которых у вас не было бы на обычном сервере. Использование общих папок и частных сетей значительно расширяет возможности Vagrant.

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

Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...
Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...