
Vagrant の Web サイトですべての synced_folder 構成を確認しました...
ホストOS: Windows 7 ゲストOS: Ubuntu
これは私の Vagrantfile 設定です:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "base"
config.vm.hostname = "daison.vagrant.me"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :private_network, ip: "192.168.33.10"
config.vm.synced_folder ".", "/vagrant", disabled: true
#config.vm.synced_folder "C:\\Users\\daison\\vagrant\\src\\www", "/var/www"
end
私もそうしますC:\Users\daison\vagrant\> vagrant reload
UbuntuのApacheにアクセスするには、次のコマンドを実行します127.0.0.1:8080 or 192.168.33.10 or daison.vagrant.me:8080
。私のホストで
を削除してcommented synced_folder
再度Vagrantをリロードすると、すべてのIPアドレスと仮想ホストの結果は次のようになります。アクセスできない--ホストへ
アクセスしてみましたvagrant ssh
vagrant@daison: cd /var/www
vagrant@daison: /var/www$ ls
何も表示されません...
folder
また、ゲストフォルダをフリーズさせてもsynced_folderが本当に機能するかどうか確認するために作成してみました。
vagrant@daison: /var/www$ mkdir thisFolderWillAlsoShareToHost
C:\Users\daison\vagrant\src\www
次に、作成したフォルダ私のホストで。
また、Vagrant をリロードした後、と同じようにフリーズする"/vagrant/sample"
かどうかをテストするために、 synced_folders を に変更してみました。/vagrant/sample
/var/www
結果は、Web サーバーにアクセスできるようになりました。もちろん、これは の一部ではありません/var/www
が、ls
内部での使用も/vagrant/sample
フリーズします。
誰か助けてくれるでしょうか? ありがとうございます!
答え1
問題の説明からすると、ゲストにいくつかの Web サイトを作成し、同期フォルダーを設定し、Vagrant がホストとゲストの間で双方向同期を実行することを期待しているようです。しかし、これは動作しません。同期フォルダーを有効にすると、ホストのフォルダーがゲストにマウントされます。ホストのコンテンツは、ゲストの既存のコンテンツをマスクします。つまり、次のようになります。
同期されたフォルダがない場合
> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
$ ls /var/www
a_file_on_the_guest
これらのフォルダーは同期されています。
> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
$ ls /var/www
a_file_on_the host
フォルダが同期されている間にゲスト内から新しいファイルを作成した場合
> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
file_created_while_synced
$ ls /var/www
a_file_on_the host
file_created_while_synced
同期フォルダを無効にすると、次のように表示されます
> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
file_created_while_synced
$ ls /var/www
a_file_on_the_guest
そのため、ゲストで作成されたウェブサイトは同期中は利用できなくなります。/var/www. これが Web サーバーが「フリーズ」する理由です。