原文地址 - 概述

原文地址 - 基本用法

同步目录 Synced folder 支持在宿主机和客户机之间共享目录,从而允许你在宿主机的项目文件上工作,但是可以在客户机上编译并运行。

默认情况下,Vagrant 会共享项目目录(包含 Vagrantfile 的目录)到 /vagrant

1. 配置

通过 Vagrantfile 中的 config.vm.synced_folder 方法配置同步目录。配置指令的用法非常简单:

Vagrant.configure("2") do |config|
# other config here config.vm.synced_folder "src/", "/srv/website"
end

第一个参数是宿主机的目录路径。如果是相对路径,则相对于项目的根目录。第二个参数必须是宿主机中的绝对路径,这个目录会共享宿主机的那个目录。如果第二个参数的目录不存在(支持递归创建),则会自动创建。

2. 选项

配置同步目录时必须指定额外的选项参数。这些参数在下面列出,用法也在下面演示了,其中的 owner/group 示例提供了两个额外选项,用都会分隔。

除了这些选项之外,特定的同步目录类型可能允许更多选项。详细信息,请参阅特定同步目录类型的文档。内置的已同步目录类型有 NFS、SMB、VirtualBox、RSync。

  • create (boolean):默认是 false。如果为 true,如果 host 路径不存在时会自动创建。
  • disabled (boolean):如果为 true,这个同步目录会被禁止且不会被设置。可以用来禁止之前定义的同步目录或基于某些外部因素有条件地禁用定义。
  • group (string):将会拥有同步目录的组。默认情况下,这会是 SSH 用户。某些同步目录类型不支持修改组。
  • mount_options(array):传递给 mount 命令的附加 mount 选项的列表。
  • owner (string):此同步目录所有者对应的用户。默认情况下是 SSH 用户。某些同步目录类型不支持修改所有者。
  • type (string):同步目录的类型。如果未指定,Vagrant 将自动选择最佳的同步目录类型选项。否则,你可以指定特定的类型,如“nfs”。
  • id(string):客户机中此已同步目录的挂载点的名称。在客户机上运行 mount 时会出现这种情况。

3. 开启

同步目录在执行 vagrant upvagrant reload 时自动设置。

4. 关闭

在定义文件中使用 disabled 选项可以关闭同步目录:

Vagrant.configure("2") do |config|
config.vm.synced_folder "src/", "/srv/website", disabled: true
end

下面示例可以关闭默认的 /vagrant 共享:

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

5. 修改 Owner/Group

默认情况下,Vagrant 使用 owner/group 集合挂载同步目录到 SSH 用户(mounts the synced folders with the owner/group set to the SSH user)。有时最好将目录挂载到不同的用户和组。选项可以这样设置:

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

注意:mount_options 中定义的所有者和组 ID 将优先于其他所有者和组选项。

例如,给出以下配置:

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

挂载的同步目录将由 ID 为 1234 的用户和 ID 为 1234 的组拥有。owner 和 group 选项将被忽略。

6. 符号链接

Vagrant 通过配置各种虚拟机管理程序(如 VirtualBox)来确保符号链接的正常工作,但某些宿主机/客户机组合仍然无法正常工作。这可能会影响一些依赖于符号链接的开发环境。

如果需要使用符号链接,建议先测试。

Vagrant 手册之同步目录 - 基本用法的更多相关文章

  1. Vagrant 手册之同步目录 - VirtualBox

    原文地址 如果你使用的 provider 是 VirtualBox,那么 VirtualBox 同步目录就是默认的同步目录类型.这些同步目录使用 VirtualBox 的共享目录系统来同步客户机跟宿主 ...

  2. vagrant 同时设置多个同步目录

    修改Vagrantfile文件 如下所示 config.vm.synced_folder "./", "/var/www/pyxis2", owner: &qu ...

  3. Vagrant 入门 - 同步目录(synced folders)

    原文地址 尽管可以非常轻松的启动一台虚拟机,但很少有人希望通过 SSH 使用基于终端的编辑器来编辑文件.幸运的是,借助 Vagrant 你不需要这样做.通过使用同步目录,Vagrant 会自动同步 g ...

  4. Vagrant 手册之 Provisioning - File

    原文地址 Provisioner 名字:"file" Vagrant 的 file provisioner 允许将文件或目录从主机上传到客户机. File provisioning ...

  5. Vagrant 手册之 box - 创建基础 box

    原文地址 有一种特殊的 box 被称为"base box".这些 box 包含 Vagrant 运作所需的最低限度,通常不是对现有的 Vagrant 环境("base b ...

  6. 使用rsync同步目录

    本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...

  7. rsync同步目录及同步文件

    最简单的只读同步工作. 一,服务端的配置 1,安装rsync(阿里云默认已有此程序) 略 2,生成文件rsyncd.conf,内容如下: #secrets file = /etc/rsyncd.sec ...

  8. rsync+inotify 实现资源服务器的同步目录下的文件变化时,备份服务器的同步目录更新,以资源服务器为准,去同步其他客户端

    测试环境: 资源服务器(主服务器):192.168.200.95 备份服务器(客户端):192.168.200.89 同步目录:/etc/test 同步时使用的用户名hadoop密码12345 实验目 ...

  9. 使用rsync, 向另外一台服务器同步目录和文件的脚本

    #!/bin/bash #亚特兰蒂斯-同步目录#定时任务ini_file="/usr/local/sunlight/conf/rsync-file.ini"target_ip=&q ...

随机推荐

  1. python字典使用总结

    作者:python技术人 博客:https://www.cnblogs.com/lpdeboke 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 ...

  2. mybatis如何把session托管给spring

    原生mybatis创建SqlSession的流程: SqlSession sqlSession = null; try { sqlSession = sqlSessionFactory.openSes ...

  3. 【洛谷p1190】接水问题

    接水问题[题目链接] 咱也不知道为啥咱就是想写博客emmm 尽管这个题是2010年的普及组但是我太菜了并不会写emm 其实感觉这道题是纯纯正正的大模拟: 算法标签中的贪心是没有意义的啊?? SOLUT ...

  4. Window Operations

    Window Operations 有点类似于Storm中的State,可以设置窗口的大小和滑动窗口的间隔来动态的获取当前Steaming的允许状态,可以对一段时间的数据进行处理. 如图window ...

  5. VS Code 设置双快捷键(快速移动光标)

    平时写代码会经常用到上下左右键,比如打出两个括号 () ,编辑完之后得按到右括号后面 难免有这样的场景需要在编辑代码的时候小范围地移动光标,笔者在别的ide的习惯是通过“alt + jkli”来实现光 ...

  6. Azkaban 2.5.0的详细安装过程

    准备下载Azkaban2.5.0:https://azkaban.github.io/downloads.htm 准备插件: 一.MySQL安装与配置 启动数据库并查看状态:sudo service ...

  7. CentOS7搭建Flume与Kafka整合及基础操作与测试

    前提 已完成Kafka的搭建,具体步骤参照CentOS7搭建Kafka单机环境及基础操作 Flume安装 下载 wget http://mirrors.tuna.tsinghua.edu.cn/apa ...

  8. 阿里P7前端需要哪些技能

    原谅我copy过来的,但是这个条理很清楚很有借鉴意义 前言 以下是从公众号的文章中获取到的一位阿里的前端架构师整理的前端架构p7的技能图谱,当然不是最完整.最系统的,所以之后我会一直维护更新这里的内容 ...

  9. uboot移植之迷雾解码

    按照蜗窝科技的步骤执行 一.有关硬件描述的填空题 1)CPU上电后,从哪种设备(       BOOTROM         )的哪个地址(        0x0000_0000       )开始执 ...

  10. SpringMVC的@ResponseBody注解简介

    SpringMVC简介 SpringMVC也叫Spring Web MVC 属于展示层框架.是Spring框架的一部分. 核心组件类DispatherServlet springMVC是围绕Dispa ...