
Ich habe die gesamte Synced_folder-Konfiguration auf der Vagrant-Website überprüft …
Host-Betriebssystem: Windows 7 Gast-Betriebssystem: Ubuntu
dies ist meine Vagrantfile-Konfiguration:
# -*- 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
Ich auchC:\Users\daison\vagrant\> vagrant reload
Ich kann auf den Apache von Ubuntu zugreifen, indem ich Folgendes ausführe 127.0.0.1:8080 or 192.168.33.10 or daison.vagrant.me:8080
:IN MEINEM GASTGEBER
also durch Entfernen commented synced_folder
und erneutes Laden des Vagrant. Die Ergebnisse aller IP-ADRESSEN UND MEIN VIRTUALHOST SINDNICHT ZUGÄNGLICH--INT MEIN GASTGEBER
Ich habe versucht, darauf zuzugreifenvagrant ssh
vagrant@daison: cd /var/www
vagrant@daison: /var/www$ ls
und nichts wird angezeigt ...
Ich habe auch versucht, einen zu erstellen, folder
nur um zu sehen, ob der synced_folder wirklich funktioniert, auch wenn er den Gastordner einfriert
vagrant@daison: /var/www$ mkdir thisFolderWillAlsoShareToHost
Dann wird ein Ordner in meinem C:\Users\daison\vagrant\src\www
erstelltenIN MEINEM GASTGEBER.
Ich habe auch versucht, die synchronisierten Ordner zu ändern, "/vagrant/sample"
nur um zu testen , ob sie nach dem Neuladen des Vagrants /vagrant/sample
genauso eingefroren werden ./var/www
Das Ergebnis ist: Ich kann auf den Webserver zugreifen. Natürlich ist er nicht Teil von /var/www
, aber die ls
interne Verwendung /vagrant/sample
friert ebenfalls ein.
Vielleicht kann jemand helfen? Danke!
Antwort1
So wie Sie Ihr Problem beschreiben, klingt es, als hätten Sie auf Ihrem Gast einige Websites erstellt, einen synchronisierten Ordner eingerichtet und erwartet, dass Vagrant eine bidirektionale Synchronisierung zwischen Host und Gast durchführt. So funktioniert es aber nicht. Wenn Sie einen synchronisierten Ordner aktivieren, wird ein Ordner von Ihrem Host in Ihrem Gast gemountet. Der Inhalt vom Host maskiert alle vorhandenen Inhalte auf dem Gast. Das meine ich damit:
Ohne synchronisierten Ordner
> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
$ ls /var/www
a_file_on_the_guest
Mit diesen synchronisierten Ordnern.
> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
$ ls /var/www
a_file_on_the host
Wenn Sie während der Synchronisierung der Ordner eine neue Datei im Gast erstellt haben
> 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
Deaktivieren Sie den synchronisierten Ordner. Jetzt sehen Sie
> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
file_created_while_synced
$ ls /var/www
a_file_on_the_guest
Wenn Ihre Websites also im Gast erstellt wurden, sind sie während der Synchronisierung nicht mehr verfügbar/var/www. Deshalb „friert“ der Webserver ein.