web-dev-qa-db-ja.com

バガントボックスをローカルにコピー

VirtualBoxで動作している迷惑なボックスがあり、コピーを(既存の構成とデータをすべて含めて)作成する必要があります。これにより、オリジナルに影響を与えることなく変更を加えることができます。

問題は、元のボックスがファイルパッケージとして提供されていたことです。私が作業しているインターネット接続が非常に遅いため、誰かがvagrantフォルダーとvirtualboxフォルダーを私のマシンにコピーしました。したがってありません

config.vm.box_url

使用する。

どうすればこれを達成できますか?

編集:私はVagrant 1.2.2を使用しています

27
xiankai

既存のvmから新しいボックスを作成します。

  • vagrantファイルがあるディレクトリにcdします

  • vagrant packageを実行すると、デフォルトでpackage.boxというボックスファイルがエクスポートされます

  • vagrant box add foo package.boxを実行して、package.boxを既存のボックスに追加します。 (VMWareではなくVirtualBoxを使用していると仮定)

  • vagrant box listを実行して、追加されたことを確認します。

これで、新しいフォルダを作成し、通常どおりvagrant initを実行して、ボックスを次のように設定できます。

 config.vm.box = "foo"

新しいVMは、前のVMに存在していた正確なデータで起動します。

Vagrant Documentation


さらに、Vagrantの作成者から Packer と呼ばれる新製品をチェックアウトします。これと同じことを行いますが、VMを他のプロバイダー(Amazon、VirtualBoxなど)にコピーできます。

更新

Vagrantの新しいバージョンには、上記の手順を不要にする2つのコマンドがあります。

vagrant share
vagrant package

Vagrant shareがボックスを atlas にアップロードします
Vagrant packageは、.boxファイルを自動的に作成します。

詳細については、vagrant --helpと入力してください

41
spuder