作为 vagrant up
过程的一部分,Vagrant 中的 Provisioner 允许你自动安装软件,更改配置等。
这很有用,因为 box 通常不是完美地为你的用例构建的,除非你想使用 vagrant ssh
手工安装软件。但是通过使用内置于 Vagrant 的 Provisioning 系统,它可以自动执行过程,使其具有可重复性。最重要的是,它不需要人为的互动,所以你可以通过单一的命令来 vagrant destroy
和 vagrant up
,并拥有一个完全随时可用的工作环境。
Vagrant 提供多种配置机器的选项,从简单的 shell 脚本到更复杂的行业标准配置管理系统。
如果您以前从未使用配置管理系统,建议从基本的 shell 脚本开始进行配置。
1. Provisioning 何时发生
Provisioning 在你的 Vagrant 环境的生命周期中的某些时点发生:
在首次
vagrant up
创建环境时运行 provisioning。如果已经创建了环境,需要恢复或启动机器,那么除非明确提供--provision
标志,否则它们将不会运行。在运行环境中使用
vagrant provision
时。调用
vagrant reload --provision
时。--provision
标志必须存在才能强制运行 provisioning。
也可以在启动环境时通过 --no-provision
参数明确指定不运行 provisioner。