原文地址

Provisioner 命令:“file”

通过 file 配置程序可以上传宿主机的文件或目录到虚拟机中。

使用场景:将宿主机的 ~/.gitconfig 复制到虚拟机中的用户家目录,这样就不用每次都要为新的虚拟机执行 git config --global

Vagrant.configure("2") do |config|# ... other configurationconfig.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
end

可以上传目录到虚拟机。复制时,宿主机上的文件夹将替换文件夹作为新文件夹并将其放在虚拟机上。注意,如果希望在虚拟机上使用相同的文件夹名称,请确保目标路径(destination )与主机上的文件夹名称相同。

Vagrant.configure("2") do |config|# ... other configurationconfig.vm.provision "file", source: "~/path/to/host/folder", destination: "$HOME/remote/newfolder"
end

在将 ~/path/to/host/folder 复制到虚拟机之前:

    folder├── script.sh├── otherfolder│   └── hello.sh├── goodbye.sh├── hello.sh└── woot.sh1 directory, 5 files

~/path/to/host/folder 复制到虚拟机中的 $HOME/remote/newfolder 之后:

    newfolder├── script.sh├── otherfolder│   └── hello.sh├── goodbye.sh├── hello.sh└── woot.sh1 directory, 5 files

注意,与同步文件夹不同,上传的文件或目录不会保持同步。对于上面的例子,如果对本地 ~/.gitconfig 进行更改,它们将不会立即反映在上传到虚拟机的副本中。

由 file provisioner 上传的文件以 SSH 或 PowerShell 用户身份完成。这很重要,因为这些用户通常无法提升权限。如果想将文件上传到需要特权的位置,我们建议将它们上传到临时位置,然后使用 shell provisioner 将它们移动到位。

选项

file provisioner 只有两个选项,都是必须的:

  • source (string) - 要上传的文件或目录的本地路径。
  • destination (string) - 虚拟机中用于接收上传文件的远端路径。文件或目录通过 SCP 之上的 SSH 上传,因此路径必须对用户可写。SSH 用户可以通过运行 vagrant ssh-config 来决定,默认是“vagrant”。

警告

虽然 file provisioner 确实支持尾部斜杠或“全局”,但由于用于在主机和虚拟机之间复制文件和文件夹的底层工具的差异,这可能会导致一些令人困惑的结果。例如,如果源和目标的尾部斜线定义如下:

  config.vm.provision "file", source: "~/pathfolder", destination: "/remote/newlocation/"

你这是在告诉 vagrant 上传 ~/pathfolder/remote/newlocation 下面:

    newlocation├── pathfolder│   └── file.sh1 directory, 2 files

此行为也可以通过下面的定义你的 file provisioner 来实现:

  config.vm.provision "file", source: "~/pathfolder", destination: "/remote/newlocation/pathfolder"

另一个例子是在主机上使用 globing 来抓取文件夹内的所有文件,但不是顶层文件夹本身:

  config.vm.provision "file", source: "~/otherfolder/.", destination: "/remote/otherlocation"

file provisioner 被定义为将 ~/otherfolder 下的所有文件包含到新位置 /remote/otherlocation。这个想法可以通过简单地让目标文件夹与源文件夹不同来实现:

  config.vm.provision "file", source: "/otherfolder", destination: "/remote/otherlocation"

转载于:https://www.cnblogs.com/kika/p/10851610.html

Vagrant 手册之 Provisioning - file 配置程序相关推荐

  1. Vagrant 手册之 Provisioning - 基本用法

    原文地址 虽然 Vagrant 提供了用于配置虚拟机的多个选项,但是有标准用法,好多知识点对这个 provisioner 是通用的. 配置 首先,Vagrantfile 中配置的每个 provisio ...

  2. Vivado中如何将配置程序固化到FLASH?

    这里介绍用BPI FLASH,也就是并行FLASH,具体类型看自己的具体工程,例如: Micron Flash芯片识别心得 这里以固化到FLASH中的配置程序为bin类型的.bin类型配置程序的具体生 ...

  3. win7怎么配置程序服务器错误日志文件,win7怎么配置程序服务器

    win7怎么配置程序服务器 内容精选 换一换 园区智能体服务的边缘算法作业会下发到边缘节点服务器运行,需要在IEF侧注册并纳管边缘节点.园区智能体的算法作业是以容器应用的方式下发到边缘节点运行的,因此 ...

  4. SpringCloud 配置安全验证、服务消费端处理、无状态 Session 配置、定义公共安全配置程序类

    所有的 Rest 服务最终都是暴露在公网上的,也就是说如果你的 Rest 服务属于一些你自己公司的私人业务,这样的结果会直接 导致你信息的泄漏,所以对于 Rest 访问,安全性是首要的因素. 2.1. ...

  5. gcore 获取程序core dump file 但程序不用退出,gdb 分析core

    转载地址: http://hi.baidu.com/widebright/item/e94ea43535711f4a3075a1d0 本文包含如下部分内容 1. Linux内核里面生成的core fi ...

  6. dll文件是什么语言写的程序_易语言图文教学:写好了程序,如何配置程序名称、图标?内详...

    引导语 通过前两篇图文,相信大家能制作出一个简单的易语言程序啦.今天是教大家怎样配置程序.说的再清楚些,就是给你的程序加个图标,改个进程名字,加上版本号,添加作者信息等等. 具体操作方法 打开一个已经 ...

  7. Hazelcast IMDG参考中文版手册-第四章-配置

    本章介绍配置Hazelcast应用程序的选项,并说明配置时可以使用的实用程序.您可以使用以下选项之一或混合配置Hazelcast: 陈述性的方式 程序化方式 使用Hazelcast系统属性 在Spri ...

  8. vagrant box php开发环境配置 -- 重新打包发布vagrant box

    2019独角兽企业重金招聘Python工程师标准>>> 现在基本差不多了,可以重新打包发布了 打包 Usage: vagrant package [options] [name|id ...

  9. 【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 )

    文章目录 一.FFMPEG 源码下载 解压 二.交叉编译工具 三.configure 脚本及帮助命令 四.配置 configure 脚本 五.输出目录配置 六.函数库配置 七.程序配置选项 八.组件配 ...

  10. Vagrant 手册之多个虚拟机 multi-machine

    原文地址 Vagrant 可以通过一个 Vagrantfile 定义并控制多个客户机.这就是所谓的"multi-machine"多虚拟机环境. 这些机器通常可以协同工作,或者互相关 ...

最新文章

  1. 深入浅出Redis五种基本数据类型
  2. python实现肯德基店铺查询
  3. JavaFX SceneBuilder设置按钮的背景颜色
  4. 前端学习(1922)vue之电商管理系统电商系统之渲染角色数据
  5. 闲置服务器 虚拟服务器,闲置主机搭建服务器
  6. VUE报错:Module build failed: Error: Cannot find module ‘node-sass‘
  7. mac mail 删除邮件服务器,如何从Mac OS X中的邮件中删除所有电子邮件 | MOS86
  8. C#LeetCode刷题-字符串
  9. 全球破300万!小米11系列高端市场地位稳了
  10. 本年度读书计划-看几本必须好好琢磨的书
  11. UI图标设计素材|风格多样的图标
  12. 【AS3 Coder】任务七:初涉PureMVC——天气预报功能实现
  13. HBase核心知识和应用案例
  14. 算法精解----快速排序(方式1)
  15. 实现简易网易云音乐播放器
  16. Android 9.0系统源码_包管理机制(二)PackageInstaller安装APK
  17. 论文写作笔记4 期刊选择-医学计算机
  18. matlab做gui界面抛体运动,用MATLAB进行抛体运动中的探讨模拟
  19. Deadline渲染管理系统
  20. 跨专业计算机 调剂,考研调剂可以跨专业调剂吗

热门文章

  1. Codeforces 893 D Credit Card 贪心 思维
  2. Android分发事件
  3. 关于 Android Service 的介绍都在这了
  4. excel通过转成xml格式模板,下载成excel文件
  5. 二层交换机的安全方案与实施
  6. Django 【第六篇】ORM跨表操作(聚合查询,分组查询,F和Q查询等)
  7. 简单了解Tomcat与OSGi的类加载器架构
  8. Android Problem- android.content.res.Resources$NotFoundException: String resource ID #0xa
  9. [机器学习] ——KNN K-最邻近算法
  10. [poj1741 Tree]树上点分治