原文地址 虽然 Vagrant 提供了用于配置虚拟机的多个选项,但是有标准用法,好多知识点对这个 provisioner 是通用的. 配置 首先,Vagrantfile 中配置的每个 provisioner 都使用 config.vm.provision 方法调用.例如,使用 shell 配置程序: Vagrant.configure("2") do |config| # ... other configuration config.vm.provision "shell&q…
原文地址 通过 Vagrant 中的 provisioner 配置程序,可以在使用 vagrant up 启动虚拟机时,在虚拟机上执行安装软件.更改配置等操作. box 通常是通用的,而每个项目总有自己的需求.当然也可以通过 vagrant ssh 进入虚拟机后手动安装软件.但是通过 Provisioning 机制可以自动化这个过程并使其可重复,完全不需交互. Provisioning 的执行节点 Provisioning 在 Vagrant 环境生命周期的特定节点执行: 第一次 vagrant…
原文地址 Provisioner 命令:"shell" 示例: node.vm.provision "shell" do |s| s.inline = <<-SHELL # 更改时区 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime timedatectl set-timezone Asia/Shanghai SHELL 通过 Vagrant Shell 配置程序可以在虚拟机中上传和执行脚本. She…
原文地址 Provisioner 名字:"file" Vagrant 的 file provisioner 允许将文件或目录从主机上传到客户机. File provisioning 文件配置是一种简单的方法,例如,将本地的 ~/.gitconfig 复制到客户机上的 Vagrant 用户主目录,这样每次配置新虚拟机时都不必运行 git config --global. Vagrant.configure("2") do |config| # ... other co…
原文地址 Provisioner 命令:"file" 通过 file 配置程序可以上传宿主机的文件或目录到虚拟机中. 使用场景:将宿主机的 ~/.gitconfig 复制到虚拟机中的用户家目录,这样就不用每次都要为新的虚拟机执行 git config --global: Vagrant.configure("2") do |config| # ... other configuration config.vm.provision "file",…
原文地址 - 概述 原文地址 - 基本用法 同步目录 Synced folder 支持在宿主机和客户机之间共享目录,从而允许你在宿主机的项目文件上工作,但是可以在客户机上编译并运行. 默认情况下,Vagrant 会共享项目目录(包含 Vagrantfile 的目录)到 /vagrant. 1. 配置 通过 Vagrantfile 中的 config.vm.synced_folder 方法配置同步目录.配置指令的用法非常简单: Vagrant.configure("2") do |con…
原文地址 - 概述 原文地址 - 基本用法 为了访问创建的 Vagrant 环境,Vagrant 为端口转发.连接公共网络.创建私有网络等功能暴露了一些高层网络选项. 高层网络选项用于提供可以跨 provider (VirtualBox.VMWare 等)工作的抽象定义.这意味着可以将 Vagrantfile 文件用于 VirtualBox 机器或 VMWare 机器. Vagrant 提供多个用于将虚拟机连接到网络的选项,但有一个标准的使用模式,以及所有网络配置的一些重要的共同点. 1. 高级…
原文地址 Vagrant 可以在一个 Vagrantfile 中定义并控制多个虚拟机.这就是"multi-machine"环境. 这些机器可以协同工作或互相关联.multi-machine 的常见用例有: 准确建模多服务器生产拓扑,例如分离 Web 和数据库服务器. 建模分布式系统,以及它们如何相互交互. 测试接口,比如一个到服务组件的 API. 灾难情况测试:机器正在死亡,网络分区,网络速度慢,不一致(inconsistent world views)等. 注意,这只是生产环境的不准…
原文地址 配置的命名空间:config.ssh config.ssh 中的设置与配置 Vagrant 如何通过 SSH 访问您的计算机相关. 大多数 Vagrant 设置一样,一般使用默认设置即可,但也可以根据自己的喜好进行微调. 1. 可用的设置项 config.ssh.username 设置 Vagrant 默认使用的 SSH 用户名.如果 provider 检测到更合适的用户,则可以自由覆盖此内容.默认情况下,这是"vagrant",因为这是大多数公共 box 使用的用户名. c…
原文地址 Vagrant 可以通过一个 Vagrantfile 定义并控制多个客户机.这就是所谓的"multi-machine"多虚拟机环境. 这些机器通常可以协同工作,或者互相关联.下面是几个常见用例: 准确建模多服务器生产拓扑环境,例如分离 Web 和数据库服务器. 建模分布式系统,以及它们如何相互交互. 测试一个接口,比如一个 API 到一个服务组件. 灾难情况测试:机器宕机,网络分区,网络缓慢,环境不一致(inconsistent world views)等. 以前,通常是在一…