我主要在Vagrant中使用Ubuntu框,并且在框中创建的任何文件也已成功同步到Windows。通常是git pull
。
但是,我现在有centos/7
并且无法将任何文件同步到Windows。如果您在/vagrant
中创建文件,则该文件永远不会出现在Windows中 - 不在C:\cygwin64\
下,也不会在C:\vm\machine
下。当我vagrant reload
框时,框内创建的所有文件都消失了,除了配置文件,例如。 /etc/httpd/conf/httpd.conf
。其中的任何更改仍会显示在vagrant reload
和vagrant halt; vagrant up
上。
这里是Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.network "forwarded_port", guest: 80, host: 8086, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 3306, host: 3386, host_ip: "127.0.0.1"
config.vm.synced_folder "./", "/vagrant"
# I have also tried the following:
# config.vm.synced_folder "C:/vm/machine", "/vagrant"
# config.vm.synced_folder "./", "/vagrant", type: "rsync", disabled: false
end
执行vagrant up
时,synced_folder的两种方法都显示:
==> default: Rsyncing folder: /cygdrive/c/vm/machine/ => /vagrant
我尝试从vagrant up
和Cygwin64终端(cmd.exe
下)进行/c/vm/machine
。它们都没有为Windows目录创建文件,该目录位于C:\vm\machine
。
如何让在框中创建的文件同步到Windows?
当我在Ubuntu框中尝试相同时,该文件出现在Windows中并且不会消失:
这是Ubuntu框的Vagrant文件:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "v0rtex/xenial64"
config.vm.network "forwarded_port", guest: 80, host: 8083, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 443, host: 8443, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 3306, host: 3303, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 5000, host: 5003, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 8000, host: 8003, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 9090, host: 9093, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 9091, host: 9193, host_ip: "127.0.0.1"
end
在vagrant up
的Ubuntu框中,我看到了这一点:
==> default: Mounting shared folders...
default: /vagrant => C:/vm/ubu1604-64
答案 0 :(得分:2)
解决方案如下:
config.vm.synced_folder "./", "/vagrant", type: "virtualbox", disabled: false
vagrant plugin install vagrant-vbguest
vagrant reload
已在运行,则执行vagrant up
,否则执行vagrant up
。/vagrant
将花费正常的时间。之后,C:\vm\machine
目录中创建的文件也将出现在Windows vagrant halt
中(例如),并将在Vagrant会话之间保持不变,即。 vagrant up
+ {{1}}