2016-04-22 9 views
0

私は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の/テストゲストに

もホスト上に作成したフォルダに作成テスト。

これは、同期が双方向であることを証明していると思います。

+0

私はホスト - >ゲストしか見ていないので、これは本当に変です。ゲストの既存のフォルダを同期しても、ホストからのフォルダの内容に置き換えられます。また、私はいくつかの疑問を持っています。ホストのフォルダがguestの内容から置き換えられた場合、現在のフォルダは、現在のフォルダでデフォルトのフォルダを '/ vagrant 'として同期させるため、現在のフォルダは空になります。このケース(/ vagrantフォルダ)では正しく動作することを確認していますか? –

+0

私はあなたの疑問を理解しています。私はプロビジョニングのためにシェフ・ソロを使用しています。標準データを「/ guest/webapp」に入れています。どのデータが最初に起こるのか分かりません。これは、最初のプロビジョニング、つまり、どのようなVagrantリロード/アップ - プロビジョニングを実行しても、ボックスがすでに作成されている場合にのみ発生します。ホストフォルダは上書きされません。 –

+0

プロビジョニングの前に共有フォルダをマウントします。プロビジョニングを行わないで初めてvagrant upを実行するだけで、ホストフォルダが変更されていないことがわかります。プロビジョニングから来ている必要があります –

答えて

1

だから、ぼんやりしたSynced foldersは本当に同期されている(たぶん共有フォルダと呼ばれているわけではない)ので、一方の側で何をしても自動的に同期/複製されます。あなたが本当に一方向の共有をしたい場合は

(それがホストまたはゲストから来て天気を)、あなたは(https://www.vagrantup.com/docs/synced-folders/rsync.html

[rsyncの]で見ることができ

ベイグラントを同期するメカニズムとしてのrsyncを使用することができますゲストへのフォルダ マシン。この同期化されたフォルダの種類は、 などの同期化されたフォルダメカニズムが利用できない場合に役立ちます。 NFSまたはVirtualBox共有フォルダがゲストの マシンで利用できない場合などに便利です。

rsyncの同期フォルダは、Vagrantによってマシンが起動しているマシン からのワンタイム同期を1回だけ行います。

+0

フレデリックの助けをありがとう! –

+0

問題ありません、私たちはそれをクリアしてうれしいです:) –

関連する問題