16

vagrant VM があり、ホスト (Ubuntu) から vagrant を使用してフォルダー (コード リポジトリ) を共有しましたconfig.vm.share_folder。vagrant マシン (仮想環境) 内で作成したフォルダーで逆のことをしたいと思います。それをホストに共有したいと思います。どうやってやるの?

以下を vagrant ファイルに追加しようとしました: config.vm.share_folder "virtualenv", "/home/vagrant/devenv", "../virtualenv"vagrant マシンの仮想環境とホストの空のフォルダーをそれぞれポイントします。浮浪者になってホストのフォルダー内を見ると、浮浪者マシン内の仮想環境の内容を確認したいのですが、フォルダーは空のままです。そして、vagrant マシンに ssh して仮想環境フォルダーの中を見ると、空になっています。この設定を無効にすると、vagrant マシンのフォルダーの内容が復元されます。

4

3 に答える 3

14

共有フォルダー VS 同期フォルダー

共有フォルダーは、v1 から v2 (ドキュメント) への同期フォルダーに名前が変更されました。ボンネットの下では、vboxsfホストとゲストの間でまだ使用されています (多数のファイル/ディレクトリがある場合、既知のパフォーマンスの問題があります)。

: を介してホスト ディレクトリをゲストにマウントすることを理解する必要があります。その逆vboxsfではありません

ユースケースでは、次のことができます

  1. 同期フォルダーを使用して、ホストとゲストの間でフォルダーをマップし (両方が空であると仮定)、ゲスト内でrsyncプロジェクトをコピー (推奨) するか、マップされたフォルダーに移動します。
  2. コンテンツをゲストからホストに (scpまたはを使用してrsync) フォルダー A にコピーし、同期フォルダーを使用してホスト上のフォルダー A をゲストにマップします。

例えば

# relative path to where Vagrantfile resides
config.vm.synced_folder "virtualenv", "/home/vagrant/devenv"

# absolute path
config.vm.synced_folder "/path/to/virtualenv", "/home/vagrant/devenv"
  1. Vagrantfileプロジェクト ディレクトリ ( が存在する場所)の virtualenv ディレクトリを guest にマップします/home/vagrant/devenv

  2. 絶対パス

同期フォルダーの仕組みを理解するのに役立つ詳細情報=> Vagrant 共有および同期フォルダー

于 2013-10-08T13:07:32.923 に答える