Vagrant 流浪全球状态所有虚拟机';s命名为默认值

Vagrant 流浪全球状态所有虚拟机';s命名为默认值,vagrant,Vagrant,当我运行vagrant global status时,我会得到我正在运行的所有由vagrant管理的虚拟机的列表,但我没有预料到的是输出的机器详细信息。即使我在初始化期间给每台机器一个明确的名称,每台机器的全局状态输出中的名称值始终是默认值 为什么vagrant status或vagrant global status没有列出框的实际名称?有时,当我摧毁一个盒子时,它实际上摧毁了不止一个盒子 id name provider state directory

当我运行
vagrant global status
时,我会得到我正在运行的所有由vagrant管理的虚拟机的列表,但我没有预料到的是输出的机器详细信息。即使我在初始化期间给每台机器一个明确的
名称
,每台机器的
全局状态
输出中的
名称
值始终是
默认值

为什么
vagrant status
vagrant global status
没有列出框的实际名称?有时,当我摧毁一个盒子时,它实际上摧毁了不止一个盒子

id       name    provider   state    directory                           
-------------------------------------------------------------------------
e44520d  default virtualbox poweroff /Users/name/code/foo        
1310726  default virtualbox poweroff /Users/name/code/bar    
430fd52  default virtualbox poweroff /Users/name/code/baz 

这些机器被命名为
foo
bar
baz
。。。为什么它们显示为
default

如果您有默认的Vagrantfile作为配置,那么您的机器VM将被命名为default,如下所示

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu-12.04"
  config.vm.hostname = "foo"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  . . . 
现在,如果您有一个多机配置,那么您的Vagrant文件中将有类似的内容(简化)

在这种情况下,您已经定义了两台机器
db
app
,将提示
vagrant全局状态

id       name    provider      state       directory
-----------------------------------------------------------------------------------------------------------
de264ac  db      vmware_fusion not running /Volumes/Transcend/Project1
bdd4385  app     vmware_fusion not running /Volumes/Transcend/Project1

我明白了。。。这实际上是有道理的,如果你只有一个虚拟机文件,为什么它们都会被称为
default
。谢谢。如果您更改了该名称,在使用
vagrant ssh
时是否必须像使用多主机vagrant文件一样指定该名称?@通配符如果您只有1个VM,则没有ssh会直接将您登录到VM中
id       name    provider      state       directory
-----------------------------------------------------------------------------------------------------------
de264ac  db      vmware_fusion not running /Volumes/Transcend/Project1
bdd4385  app     vmware_fusion not running /Volumes/Transcend/Project1