2015-02-11 3 views
4

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

В частности, мне удалось создать бродячую поле, основанный на Ubuntu (точное/64), который установлен Node.js, и упаковать его на моем Dev машины с

бродяга пакет моей коробки --output filename.box

Я могу скопировать файл filename.box на удаленный сервер и vagrant up. Как и ожидалось, Node.js устанавливается в брандмауэре.

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

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

Я попытался найти решение или любую информацию об этом поведении, но кроме this unanswered Post Я ничего не смог найти в сети.

Мои вопросы:

  1. Как я могу сохраняющих файлы в синхронизированных папку и упаковать их в filename.box для повторного использования в серверной среде.
  2. Возможно ли это? Является ли поведение я вижу ошибку или Vagrant не предназначен для упаковки файлов?
  3. Я пока не настроил синхронизированные папки. Возможно ли упаковывать файлы из другой синхронизированной папки, чем обычные /vagrant?
  4. Если это вообще невозможно, то каковы наилучшие методы развертывания или повторного использования бродячих сред, включая приложения?

ответ

2

1-3) Нет. Это невозможно и не предназначено для работы в том виде, в котором вы ожидаете его работы. Подумайте об общей папке VirtualBox как смонтированном томе на удаленной машине. Это не часть файловой системы вашей виртуальной машины. Фактические данные сохраняются на главном компьютере, а не на виртуальном.

4) Если вы хотите добавить данные в свою коробку, просто скопируйте свои данные в vm, прежде чем упаковать их. Нет необходимости использовать общие папки.

3

Вы не можете упаковать синхронизированную папку, но то, что вы ищете, абсолютно возможно.

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

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

+0

Спасибо за ответ. Затем, после того как я изменил файлы в синхронизированной папке, как я могу убедиться, что пребывание внутри коробки?Мне пришлось бы копировать файлы в прежний каталог и каждый раз создавать новый ящик? – Rias

+0

Если файлы скопированы в синхронизированную папку, пользователь может их удалить. Невозможно сохранить их там, не делая для них специальных настроек разрешений. –

+0

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