synced_folder(把物理机的目录同步到虚拟机里某个目录)

配置案例:

  1. [root@vagrant ubuntu]# vim Vagrantfile
  2. Vagrant.configure("2") do |config|
  3. other config here
  4. config.vm.synced_folder "src/", "/srv/website"
  5. end

src: 是物理机的目录,相对路径,(相对于项目目录(/vagrant/ubuntu)) /srv/website: 虚拟机的目录,绝对路径,如果没有,会自动创建

查看:

  1. [root@vagrant ubuntu]# vagrant ssh
  2. vagrant@ubuntu-xenial:/srv/website$ ll
  3. total 4
  4. drwxr-xr-x 1 vagrant vagrant 32 Jan 31 09:11 ./
  5. drwxr-xr-x 3 root root 4096 Jan 31 09:12 ../
  6. -rw-r--r-- 1 vagrant vagrant 0 Jan 31 09:11 a.txt
  7. -rw-r--r-- 1 vagrant vagrant 0 Jan 31 09:11 b.txt

选项如下:

1、disabled

禁用默认/vagrant共享可以如下完成:

  1. config.vm.synced_folder ".", "/vagrant", disabled: true

2、owner和group

修改所有者/组

  1. config.vm.synced_folder "src/","/srv/website",owner: "root",group: "root"

查看:

  1. vagrant@ubuntu-xenial:~$ cd /srv/website/
  2. vagrant@ubuntu-xenial:/srv/website$ ll
  3. total 4
  4. drwxr-xr-x 1 root root 32 Jan 31 09:11 ./
  5. drwxr-xr-x 3 root root 4096 Jan 31 09:12 ../
  6. -rw-r--r-- 1 root root 0 Jan 31 09:11 a.txt
  7. -rw-r--r-- 1 root root 0 Jan 31 09:11 b.txt

(发现文件的属主和属组都成root咯)

3、mount_options(数组) - 传递给mount命令的附加安装选项的列表。

注:在内定义的所有者和组ID mount_options将优先于owner和group选项。

例如,给出以下配置:

  1. config.vm.synced_folder ".", "/vagrant", owner: "vagrant",
  2. group: "vagrant", mount_options: ["uid=1234", "gid=1234"]