Работа с Vagrant/Vagrantfile в Unix/Linux

Работа с Vagrant/Vagrantfile в Unix/Linux

Работать с vagrant не сложно. Нужно потратить немного времени на ознакомление и потом приступить к работе. Как по мне — это отличный инструмент, легкий в понимании и использовании.

Vagrant — ПО для создания и конфигурирования виртуальной среды разработки. Является обёрткой для программного обеспечения виртуализации, например VirtualBox, и средств управления конфигурациями, такими как Chef, Salt и Puppet.

Наверное стоит установить vagrant для начала:

Установка Vagrant в Unix/Linux

Для начала я создам папку, в ней будут лежать все vagrant-файлы:

# mkdir -p ~/VirtualBox VMs/VAGRANT

Переходим в каталог:

$ cd ~/VirtualBox VMs/VAGRANT

Самый простой способ начать использовать vagrant — это использовать готовый образ (я буду использовать готовый образ на убунту):

$ vagrant init hashicorp/precise32

Запуск vagrant

Запускаем следующую команду чтобы vagrant скачал нужный образ:

$ vagrant up

Проверка статуса vagrant

Запускаем следующую команду чтобы vagrant скачал нужный образ:

$ vagrant status

Подключение к vagrant машине через SSH

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

$ vagrant ssh

И вы попадаете во внутрь. После чего, можно выполнять любые действия. По умолчанию, пользователь и его пароль — vagrant.

Вызвать помощь

Чтобы получить помощь, используйте:

$ vagrant -h  
    
Usage: vagrant [options] <command> [<args>]

    -v, --version                    Print the version and exit.
    -h, --help                       Print this help.

Common commands:
     box             manages boxes: installation, removal, etc.
     connect         connect to a remotely shared Vagrant environment
     destroy         stops and deletes all traces of the vagrant machine
     global-status   outputs status Vagrant environments for this user
     halt            stops the vagrant machine
     help            shows the help for a subcommand
     init            initializes a new Vagrant environment by creating a Vagrantfile
     login           log in to HashiCorp's Atlas
     package         packages a running vagrant environment into a box
     plugin          manages plugins: install, uninstall, update, etc.
     port            displays information about guest port mappings
     powershell      connects to machine via powershell remoting
     provision       provisions the vagrant machine
     push            deploys code in this environment to a configured destination
     rdp             connects to machine via RDP
     reload          restarts vagrant machine, loads new Vagrantfile configuration
     resume          resume a suspended vagrant machine
     share           share your Vagrant environment with anyone in the world
     snapshot        manages snapshots: saving, restoring, etc.
     ssh             connects to machine via SSH
     ssh-config      outputs OpenSSH valid configuration to connect to the machine
     status          outputs status of the vagrant machine
     suspend         suspends the machine
     up              starts and provisions the vagrant environment
     version         prints current and latest Vagrant version

For help on any individual command run `vagrant COMMAND -h`

Additional subcommands are available, but are either more advanced
or not commonly used. To see all subcommands, run the command
`vagrant list-commands`.

Создание Vagrant снапшота

Для начала посмотрим, есть ли готовые слепки:

$ vagrant snapshot list

У меня нет ни одного, по этому, я создаю его:

$ vagrant snapshot save machine_name

Где, machine_name — имя моего снапшота. У команды snapshot имеется следующие опции:

  •      delete — Удалить снапшот.
  •      list — Показать доступные слепки.
  •      pop — Восстанавливает push слепок.
  •      push — Создает push слепок.
  •      restore — Восстановить снапшот.
  •      save — Сохранить снапшот.

Я созданный снапшот восстановил следующим образом:

$ vagrant snapshot restore --no-provision machine_name

—no-provision — не запускает машину с самого начала ( не выполняем сборку vagrantfile).

Установка плагинов для Vagrant

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

$ vagrant plugin list

Устанавливаем плагин:

$ vagrant plugin install vagrant-rsync

У команды plugin имеется следующие опции:

  • expunge
  •  install — Установить плагин.
  •  license — Установить лицензию для плагина.
  •  list — Проверить какие плагины были установлены.
  •  repair — Заменить плагин.
  •  uninstall — Удалить плагин.
  •  update — Обновить плагин.

Я установил некоторые полезные плагины:

$ vagrant plugin list

vagrant-rsync (0.2.5)
vagrant-scp (0.5.7)
vagrant-share (1.1.6, system)
vagrant-unify (0.0.1)

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

Остановка vagrant машины

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

# vagrant suspend

Возобновление работы vagrant машины

Возобновить приостановленную машину можно:

# vagrant resume

Удаление vagrant машины

Чтобы удалить созданную вагрант-сервер, используйте:

# vagrant destroy

PS: Иногда она не выполняется из-за нехватки прав, по этому — используйте «-f» опцию:

# vagrant destroy -f

По VagrantFile можно ознакомится тут:

Расширенная конфигурация VagrantFile

Возможные ошибки:

Исправляем «There was an error while executing `VBoxManage`, a CLI used by Vagrant» в VirtualBox и Vagrant

Статья «Работа с Vagrant/Vagrantfile в Unix/Linux» подошла к завершению.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *