/var/www гостевой системы Vagrant зависает при выполнении config.vm.synced

/var/www гостевой системы Vagrant зависает при выполнении config.vm.synced

Я просмотрел все конфигурации synced_folder на сайте Vagrant...

Хостовая ОС: Windows 7 Гостевая ОС: 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

Я могу получить доступ к Apache в Ubuntu, выполнив 127.0.0.1:8080 or 192.168.33.10 or daison.vagrant.me:8080--В МОЕМ ХОСТЕ

поэтому, удалив commented synced_folderи перезагрузив снова vagrant. Результаты всех IP-АДРЕСОВ И МОЕГО ВИРТУАЛЬНОГО ХОСТАНЕ ДОСТУПНЫЙ--INT МОЙ ХОСТ

Я пытался получить доступ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созданномВ МОЕМ ХОСТЕ.


Я также попытался изменить synced_folders, чтобы "/vagrant/sample"просто проверить , /vagrant/sampleбудет ли заморожено то же самое /var/wwwпосле перезагрузки Vagrant.

Результат: я могу получить доступ к веб-серверу, конечно, он не является частью /var/www, но использование его lsизнутри /vagrant/sampleтакже зависает.

Может кто-то сможет помочь? Спасибо!

решение1

Из того, как вы описываете свою проблему, следует, что вы создали несколько веб-сайтов на гостевой машине, настроили синхронизированную папку и ожидали, что 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. Вот почему веб-сервер «зависает».

Связанный контент