Mam plik na moim hoście pod adresem ~/ansible/provisioning/playbook.yml
odpowiada to /vagrant/provisioning/playbook.yml
na gościa. Za każdym razem, gdy wprowadzam zmiany w pliku na hoście, zmiany nie pojawiają się na gościu, chyba że uruchomię vagrant reload
który całkowicie restartuje maszynę wirtualną VirtualBox. Czy istnieje inny sposób synchronizacji plików w czasie rzeczywistym za pomocą innego typu systemu plików (być może NFS)? Moim hostem jest MacOS, gościem jest CentOS 7. Używam vagrant w wersji 2.0.0.
Edytować:
Uwzględniłem mój Vagrantfile
na pastebin. Tak, wygląda na to, że używam rsync
.
$ cat .vagrant/machines/default/virtualbox/synced_folders
{"rsync":{"/vagrant":{"type":"rsync","guestpath":"/vagrant","hostpath":"/Users/timothy/Desktop/code/ansible","disabled":false,"__vagrantfile":true,"owner":"vagrant","group":"vagrant"}}}
Oprócz dodawania config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
do mojej Vagrantfile też musiałem biec
$ vagrant plugin install vagrant-vbguest
Odpowiedzi:
2 dla odpowiedzi № 1jak myśl rsync jest włączona, pole centos/7
ma domyślnie rsync, zostało to omówione przed
Podczas korzystania z rsync możesz włączyć rsync-auto polecenie automatycznego przekazywania wszelkich nowych zmian z hosta do maszyny wirtualnej.
Jeśli chcesz użyć domyślnej funkcji współdzielonego folderu wirtualnego, możesz dodać następujące elementy do swojego pliku Vagrantfile
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
0 dla odpowiedzi nr 2
Według ten przypadek na Githubie najszybszym rozwiązaniem jest użycie geerlingguy / centos7 pudełko.
To okno będzie budować dodatki dla gości.
Testowane - działa sprawnie!