Vagrant Boxを起動して実行しています(LAMPスタックで構成されています)。別のPCに転送する必要があります。どうすればエクスポートできますか?別のPCにコピーできるファイルを取得できると思うので、そこでコマンドを実行して、浮浪者ボックスをインポートできます。
これを行うには、2つの方法があります。dirty wayおよびclean wayと呼びます。
1。 dirtyway
vagrant package
コマンドを使用して、現在の仮想環境からボックスを作成します。
http://docs.vagrantup.com/v2/cli/package.html
次に、ボックスを他のPCにコピーし、vagrant box add
を使用して追加し、通常どおりvagrant up
を使用して実行します。
作業ディレクトリ(Vagrantfile
を持つファイル)のファイルは、仮想マシンの起動時に共有されるため、他のPCにもコピーする必要があることに注意してください。
2。 cleanway
理論的には、Vagrantでエクスポート/インポートを行う必要はありません。仮想環境(chef、puppet、ansible)の設定にプロビジョニングを使用する先見性があり、作業ディレクトリにgitなどのバージョン管理システムがある場合、この時点で環境をコピーするのは簡単です。
git clone <your_repo>
vagrant up
Macのハードドライブがプロジェクトの途中でビープ音を発していたため、SSDを取り付けることにしました。プロジェクトをあるディスクから別のディスクに移動する必要がありました。考慮すべきいくつかの事項:
これは私のために働いたものです:
1.) Copy your ~/.vagrant.d directory to your new machine.
2.) Copy your ~/VirtualBox\ VMs directory to your new machine.
3.) In VirtualBox add the machines one by one using **Machine** >> **Add**
4.) Run `vagrant box list` to see if vagrant acknowledges your machines.
5.) `git clone my_project`
6.) `vagrant up`
VBゲストの追加にいくつか問題がありました。
私はそれらを修正しました このソリューションで 。
これは実際には非常に簡単です
浮浪者のマシンをまとめます
vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.box
箱をリモコンにコピーします
実行してリモートマシンのボックスを初期化します
vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.box
vagrant up
を実行します
最も簡単な方法は、Vagrantボックスをパッケージ化し、それを他のPCにコピー(例:scp
またはrsync
)して、追加してvagrant up
を追加することです;-)
詳細な手順については、これを確認してください=>
既にインストールされている浮浪者の箱を複製する方法はありますか
で述べたように
Vagrantが仮想ハードドライブを探す場所を変更するにはどうすればよいですか?
仮想マシンの状態は、事前定義されたVirtualBoxフォルダーに保存されます。 vagrant-project以外の対応するマシン(フォルダー)を他のホストにコピーすると、仮想マシンの状態が保持されます。
上記の答えのどれも私にとってはうまくいきませんでした。 Vagrant + VirtualBox Machineをコンピューターから別のコンピューターに移行する方法を2日間取り組んでいます...可能です!
まず、仮想マシンが同期/共有フォルダーから分離されていることを理解する必要があります。したがって、マシンをパックするときは、ファイルなしで、データベースを使用してパックします。
するべきこと:
1-コンピューターのCMDを開く1ホストマシン(コマンドライン。右ボタンで管理者として開く-> "管理者として実行")およびVagrantのインストール済みファイルに移動します。私の場合:C:/ VVV Vagrantfileとこれらのフォルダーが表示されます:
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
/ www /フォルダーは、開発フォルダーと同期フォルダーを持っている場所です。他の場所に同期フォルダーがある場合がありますが、自分が何をしているのかを理解してください。また、/ configと/ databaseは同期フォルダーです。
2-このコマンドを実行します:vagrant package --vagrantfile Vagrantfile
(このコマンドは、Vagrantfile構成を使用して仮想マシンのパッケージを実行します。)
コマンドに関するVagrantのドキュメントをご覧ください。
よくある誤解は、--vagrantfileオプションが、このボックスでvagrant initが使用されるときに使用されるVagrantfileをパッケージ化することです。これはそうではありません。代わりに、Vagrantfileがロードされ、ボックスが使用されるときにVagrantロードプロセスの一部として読み取られます。詳細については、Vagrantfileのロード順序についてお読みください。
https://www.vagrantup.com/docs/cli/package.html
終了すると、package.boxファイルが作成されます。
3-これらのすべてのファイルをコピーします(/config、/database、Vagrantfile、package.boxなど)。仮想マシンをインストールしたい(私のケースではD:/ VVV)。
これで、コンピューター2ホストに必要なすべてのコピーができました。
4-これを実行:vagrant box add package.box --name VVV
(--nameは仮想マシンに名前を付けるために使用されます。私の場合はVVVという名前です)(この名前の仮想マシンが既にあり、それを上書きする場合は--forceを使用できます。(慎重に使用してください!))
これにより、新しいVagrant Virtual Machineが解凍されます。
5-終了したら、次を実行します:vagrant up
マシンがインストールされ、「Oracle Virtual Machine Box Manager」に表示されます。仮想マシンが表示されない場合は、Oracle VMボックスを管理者として実行してみてください(右クリック->管理者として実行)
これですべてが正常になりましたが、ホストが期待どおりかどうかを確認することを忘れないでください
c:/windows/system32/hosts
6-ホストファイルをコンピューター1からコンピューター2にコピーすることをお勧めします。または、必要な行をコピーします。私の場合、これらは必要なホストです。
192.168.50.4 test.dev
192.168.50.4 vvv.dev
...
192.168.50.4は仮想マシンのIPであり、test.devとvvv.devはホストを開発しています。
これがあなたのお役に立てば幸いです:)ご意見をお寄せいただければ幸いです。
あなたが見つけるかもしれない私のケースのいくつかの特殊性:
Vagrantを実行すると、mysqlに問題があり、機能していませんでした。仮想サーバーで実行する必要がありました(Oracle仮想マシンを右クリック->コンソールを表示):apt-get install mysql-server
この後、私は再び気まぐれに走り、すべてが機能していましたが、データベースにデータがありませんでした。そこで、コンピューター1からmysqldump all-tablesを実行し、コンピューター2にアップロードしました。
その他の注意事項:仮想マシンはコンピューター1とコンピューター2に正確にはありません。サーバー同期フォルダーを設定します)、コンピューター2ホストでこのコマンドを再度実行する必要がありました:vagrant plugin install vagrant-winnfsd
2019年現在、サブコマンドがあります:vagrant box repackage
vagrant box repackage --help
Usage: vagrant box repackage <name> <provider> <version>
-h, --help Print this help
vagrant box list
を実行すると、name
provider
およびversion
を見つけることができます
vagrant box list
macinbox (virtualbox, 10.14.5)
vagrant box repackage
の出力はpackage.box
と呼ばれるファイルです。これは基本的にtgzファイルであり、コンテンツは以下のようにリストできます。
tar tzf package.box
./metadata.json
./box.ovf
./Vagrantfile
./box-disk001.vmdk