2013-03-16 4 views
6

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

Я искал в Интернете, но ничего не нашел. Я действительно хочу работать с моим ноутбуком и вызывать vagrant up, но он должен запускать гостя на другом, например. Linux в моей сети, в которой установлен VirtualBox.

Возможно ли это на данный момент, поскольку он не сильно отличается от aws-провайдера, который делает именно это с EC2.

Было бы неплохо, если бы он использовал NTFS вместо aws-provider, который использует rsync.

Спасибо за ваши ответы заранее. Daniel

+0

Я не думаю, что это возможно, особенно с Vagrant до версии 1.1 (без абстракции провайдера). Я действительно хочу иметь эту функцию по тем же причинам, возможно, есть шанс реализовать для нее специальный провайдер – cmur2

ответ

0

На данный момент это невозможно. В GitHub был issue, но он был закрыт. В комментариях автор говорит:

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

Около года, а затем около двух месяцев назад два человека спросили о состоянии этого вопроса, как мы теперь опубликовать 1.0, но не было никакой реакции на это пока, к сожалению :-(

1

Поскольку vagrant не поддерживает это напрямую, я бы сделал что-то вроде этого:

Прежде всего, сохраните все ваши Vagrantfiles в подкаталогах того же каталога на хост-сервере. Затем создайте скрипт vagrant_runner на вашей главной машине, например:

#!/bin/bash 
VAGRANT_HOME='/home/bar/vagrant' 

cd ${VAGRANT_HOME}/$1 
# Strip off the subdir name so we can pass all the rest of our 
# arguments to vagrant 
shift 
vagrant [email protected] 

Затем на вашем ноутбуке, вы бы rvagrant скрипт:

#!/bin/bash 
VAGRANT_HOST=dnsname_of_vagrant_host 
VAGRANT_USER=vagrant_user 

ssh ${VAGRANT_USER}@${VAGRANT_HOST} vagrant_runner [email protected] 

Тогда вы могли бы сделать rvagrant foo up пнуть виртуальные машины, определенные в/главная/бар/бродяга/Foo/Vagrantfile или rvagrant foo destroy -f, чтобы уничтожить его.