使用别名创建Vagrant VM

问题描述

我想创建几个Vagrant VM。其中大多数可能是Ubuntu 16.04。但是我希望将VM命名为webserver01webserver02webserver03。基本上,我希望每个VM的Vagrantfile位于我上面提供的目录名称之内。

命令vagrant init ubuntu/xenial64可能会创建一个新的VM,但是如何确保如上所述创建三个webservers{1..3}并从该目录中运行vagrant up命令呢?

我希望所有VM都位于特定目录中,所以我只需要在该目录中打开CMD并在其中运行流浪汉即可。

解决方法

您可以借助循环生成尽可能多的VM。

https://www.vagrantup.com/docs/vagrantfile/tips

Vagrant.configure("2") do |config|
 config.vm.box = "ubuntu/trusty64"
 (1..3).each do |i|
   
   config.vm.define "node-#{i}" do |node|
     node.vm.provision "shell",inline: "echo hello from node #{i}"
   end
 end
end

您可以从cli中访问任何计算机,例如从链接中的给定示例中,您可以像这样控制node-1

无用节点1 &&无用ssh节点1