如果你有额外的目录要跟虚拟机同步的话,可以通过修改 Vagrantfile 这个文件,去添加这些额外的共享目录 ...
我们可以使用编辑器,打开项目里面的 Vagrantfile 这个文件 ... 这个文件是用 ruby 语言写的 ...
在这里,找到 config.vm.synced_folder ... 虚拟机的同步目录的相关配置 ...
去掉这行代码前面的注释符号 ... 可以让这行代码起作用。
这个配置后面的第一个参数就是在本地电脑上的一个目录 ... 两个点一个斜线,表示当前目录的上一级目录 ... data 就是目录的名字 ... 在它后面就是虚拟机上的一个目录 ..
/vagrant_data ,表示根目录下面的 vagrant_data 这个目录 ...
它的意思就是,当前这个项目的上一组目录的 data 这个目录,跟虚拟机上的根目录下面的 vagrant_data 设置成同步的目录。
另外,还有一些选项,输入一个逗号 ... 然后把 create,设置成 true ... 这样电脑上的这个同步的目录不存在的话,就会创建一个 ..
再输入一个逗号 ... 我们还可以设置一下这个目录在虚拟机上的拥有者,还有所属的群组 ...
这里我们把 ower ,也就是目录的拥有者,设置成 root ... 再添加一个 group ,把它也设置成 root 。这样在虚拟机上根目录下面的这个 vagrant_data 目录的拥有者会是 root ,所属的群组也会是 root ...
config.vm.synced_folder "../data", "/vagrant_data",
create: true, owner: "root", group: "root"
保存一下 ...
回到命令行 ... 我们可以重启一下虚拟机 ...
vagrant reload
在这里,你会看到提示,除了项目目录跟根目录下面的 vagrant 是同步的目录以后,还有 data 目录会跟根目录下面的这个 vagrant_data 也是同步的目录 ...
ssh 到虚拟机 ... vagrant ssh
进入到虚拟机的根目录 ... cd /
然后查看一下根目录下面的所有的东西 ... ls -la
在这里,你会发现,vagrant 这个目录的拥有者与群组会是 vagrant ,也就是当前连接到虚拟机的用户的名字 ...
再看 vagrant_data 这个目录,它的所有者是 root ,所属的群组也会是 root ... 因为我们手工配置了它的所有者还有群组。