Vagrant 旋转多个流浪者盒子,然后SSH进入其中

Vagrant 旋转多个流浪者盒子,然后SSH进入其中,vagrant,vagrantfile,Vagrant,Vagrantfile,我有三个流浪汉盒子 vagrant box list 当我执行vagrant up和vagrant ssh时,我一直登录到hashicorp/precise32机器 我如何同时旋转这3个盒子 我如何SSH到它们中的每一个 首先,您必须为三个项目文件夹中的每个框创建漫游环境: vagrant init hashicorp/precise32 vagrant init hashicorp/previse64 vagrant init laravel/homestead 现在您可以在项目文件夹

我有三个流浪汉盒子

vagrant box list


当我执行
vagrant up
vagrant ssh
时,我一直登录到
hashicorp/precise32
机器

我如何同时旋转这3个盒子


我如何SSH到它们中的每一个

首先,您必须为三个项目文件夹中的每个框创建漫游环境:

vagrant init hashicorp/precise32
vagrant init hashicorp/previse64
vagrant init laravel/homestead

现在您可以在项目文件夹中使用vagrant upvagrant ssh。命令流浪者全局状态显示机器的状态

首先,您必须为三个项目文件夹中的每个框创建漫游环境:

vagrant init hashicorp/precise32
vagrant init hashicorp/previse64
vagrant init laravel/homestead
现在您可以在项目文件夹中使用vagrant upvagrant ssh。命令流浪者全局状态显示机器的状态

流浪汉 将旋转您在流浪者文件中列出的所有流浪者框

然后,只需简单的
ssh
就可以一个接一个地进入其中。

将旋转您在流浪者文件中列出的所有流浪者框


然后,只需将简单的
ssh
一个接一个地放入其中。

您可以将所有三台机器包含在同一个vagrant文件中,并在目录中执行一次vagrant操作,该操作将启动所有机器。这是一个virtualbox示例,您可能需要编辑此示例并添加vmware provider块以添加您的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框

Vagrant文件中允许您使用名称的重要部分是

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

您可以将所有三台机器包含在同一个vagrant文件中,并在目录中执行一个vagrant,该目录将显示所有机器。这是一个virtualbox示例,您可能需要编辑此示例并添加vmware provider块以添加您的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框

Vagrant文件中允许您使用名称的重要部分是

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