Skip to content

Windows and MacOS Virtual machine with vagrant (RU)

Siarhei Navatski edited this page Jan 10, 2017 · 1 revision

Если docker native не поддерживается на вашей ОС, то можно поднять с docker в виртуальной машине, используя vagrant. Это можно сделать используя docker-machine, но сделать это не получилось, т.к. не смог побороть проблему с пробросом общих директорий. Поэтому будем использовать Vagrant - это менеджер управления виртуальными машинами. Схема будет такая - с помощью Vagrant мы стартанем виртуальную машину c Linux, а уже на ней запустим docker-контейнер с torrentmonitor. При этом в общей директории будут находится файл базы sqlite и скачанные торрент-файлы - для бэкапа

  1. Загрузить этот проект с описанием конфигурации Vagrant torrentmonitor-dockerized.zip и распаковать его куда вам удобно. Можно клонировать проект с помощью git, если вам это о чем то говорит git clone https://github.com/Nawa/torrentmonitor-dockerized.git

  2. Установить Vagrant https://www.vagrantup.com/downloads.html

  3. Установить VirtualBox https://www.virtualbox.org/wiki/Downloads. Именно на нем будет запускаться виртуальная машина, а Vagrant лишь управлять ей

  4. Открываем командную строку и переходим в директорию, куда распаковывали проект torrentmonitor-dockerized/windows. Она должна содержать Vagrantfile

     cd torrentmonitor-dockerized/windows
    
  5. Запускаем виртуалку

     vagrant up
    

    Ждем пока все закончится, это может занять до 10 мин при первом запуске. После того, как стартанет виртуалка, автоматически стартанет необходимый docker-контейнер внутри

  6. Открываем в браузере http://localhost:8080

  7. Надеюсь, радуемся

###Дополнительно Полученную виртуальную машину можно остановить и стартовать заново.

vagrant halt		//остановить
vagrant reload		//перезагрузить
vagrant suspend		//поставить на паузу. При это освободится оперативка
vagrant resume		//продолжить после паузы
vagrant ssh			//зайти внутрь виртуалки и посмотреть что там

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

При использовании приложения файл базы сохранится в директории torrentmonitor-dockerized/windows/data/db, а скачанные торренты в torrentmonitor-dockerized/windows/data/torrents. Эти пути можно сменить, также поредактировав Vagrantfile

config.vm.synced_folder "./" .... //заменить "./" например на "D:/torrentmonitor"

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

  • Проинициализировать машину заново. При этом внутри создастся новый контейнер

      vagrant provision
    
  • Если не прошлый пункт не помог, то перезоздаем вообще заново

      vagrant destroy
      vagrant up
    
Clone this wiki locally