私はVagrantを使用してVirtualboxでubuntuボックスを設定しています。迷惑メールを同期させたフォルダーは、迷惑メールをアップしたときにホストファイルに上書きします
config.vm.synced_folder "/host/target/webapp", "/guest/webapp"
私はマシンが破壊され、その後、浮浪者を上にして再構築されたとき、私はのみ表示されている問題:私はゲストとの私のコードを同期する同期フォルダを指定した放浪ファイルで 。この場合、Vagrantはゲストの自分のフォルダをゲストのホストではなくホストの自分のフォルダに同期させます。
"/guest/webapp" ---> "/host/target/webapp"
私は私のバージョン管理へのホスト上で私のコードをチェックインしていない場合、私は、私は自分のコードを失うことになる、すべてでこの動作を好きではありません。
同期を双方向にする必要がありますか?優先ホストをゲストにのみ同期させるように構成する方法がありますか?そこに以下のコメントでvagrant basic sync
でこのことについて何かを見つけることができませんでしたどこの提案もその場所私のプロビジョニング(シェフ・ソロ)ここで、その問題の原因。
ベイグラントアップ--no-提供
ゲストに同期ホストのコンテンツを:私は次のようでした。このからプロビジョニングフェーズを除外する 。
RM -r /ゲスト/ Webアプリケーション/ならびに除去ホストコンテンツをもたらしゲスト
オン。
ます。mkdir /ゲスト/ webappの/テストゲストに
もホスト上に作成したフォルダに作成テスト。
これは、同期が双方向であることを証明していると思います。
私はホスト - >ゲストしか見ていないので、これは本当に変です。ゲストの既存のフォルダを同期しても、ホストからのフォルダの内容に置き換えられます。また、私はいくつかの疑問を持っています。ホストのフォルダがguestの内容から置き換えられた場合、現在のフォルダは、現在のフォルダでデフォルトのフォルダを '/ vagrant 'として同期させるため、現在のフォルダは空になります。このケース(/ vagrantフォルダ)では正しく動作することを確認していますか? –
私はあなたの疑問を理解しています。私はプロビジョニングのためにシェフ・ソロを使用しています。標準データを「/ guest/webapp」に入れています。どのデータが最初に起こるのか分かりません。これは、最初のプロビジョニング、つまり、どのようなVagrantリロード/アップ - プロビジョニングを実行しても、ボックスがすでに作成されている場合にのみ発生します。ホストフォルダは上書きされません。 –
プロビジョニングの前に共有フォルダをマウントします。プロビジョニングを行わないで初めてvagrant upを実行するだけで、ホストフォルダが変更されていないことがわかります。プロビジョニングから来ている必要があります –