我有3个流浪盒
vagrant box list
hashicorp/precise32 (virtualbox, 1.0.0)
hashicorp/precise64 (vmware_fusion, 1.1.0)
laravel/homestead (virtualbox, 0.4.2)
当我vagrant up
和vagrant ssh
时,我一直登录hashicorp/precise32
机器。
如何同时旋转这3个盒子?
如何通过SSH连接到每个人?
答案 0 :(得分:0)
首先,您必须为三个项目文件夹中的每个框创建Vagrant环境:
vagrant init hashicorp/precise32
vagrant init hashicorp/previse64
vagrant init laravel/homestead
现在,您可以在项目文件夹中使用 vagrant up 和 vagrant ssh 。命令 vagrant global-status 显示您的机器状态。
答案 1 :(得分:0)
会启动您在 Vagrantfile 中列出的所有流浪盒。
然后,只需简单地ssh
进入它们 - 一个接一个。
答案 2 :(得分:0)
您可以将所有三台计算机都包含在同一个vagrantfile中,并在目录中执行单个vagrant,这将调出所有计算机。这是一个虚拟框示例,您可能需要对其进行编辑并添加vmware提供程序块以添加您的laravel机器。
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = '2'
# declare the machine config in a hash
HOST_CONFIG = {
'ubuntu_32' => 'hashicorp/precise32',
'ubuntu_64' => 'hashicorp/previse64',
'laravel' => 'laravel/homestead'
}
# create the vms
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
HOST_CONFIG.each do |hostname, basebox|
config.vm.define hostname do |hname|
hname.vm.box = basebox
hname.vm.provider 'virtualbox' do |v|
v.name = hostname
end
end
end
end
一旦机器启动,在同一目录中,您可以使用散列中提供的框名称ssh到每个框中。
示例:
vagrant ssh ubuntu_32
将带您进入hashicorp / precise32框。
vagrantfile中允许您使用名称的重要部分是
config.vm.define hostname do |hname|
下面的块将名称附加到virtualbox中的机器
hname.vm.provider 'virtualbox' do |v|
v.name = hostname
end
这会将给定名称分配给连接的计算机(vm)。要让vmware机器获取名称,您可能必须将其包装在if-else
中if hostname == 'ubuntu_64'
hname.vm.provider 'vmware_fusion' do |v|
v.name = hostname
end
else
hname.vm.provider 'virtualbox' do |v|
v.name = hostname
end
end