Vagrant VirtualBox名称固定为默认值

时间:2016-11-17 13:36:44

标签: vagrant virtualbox vagrantfile

尽管读了这个

reference

我的主机名卡在default

这是我的Vagrantfile:

Vagrant.configure(2) do |config|
  config.vm.box = "hashicorp/precise32"
  config.vm.hostname = "web"
  config.vm.network :private_network, ip: "10.0.0.10"
  config.vm.provider :virtualbox do |vb|
    vb.name = "vagrant-web"
  end
end

但是

$ vagrant status
Current machine states:

default                   running (virtualbox)

$ vagrant ssh web
The machine with the name 'web' was not found configured for
this Vagrant environment.

但是

$ vagrant ssh default

工作正常。

我完成了vagrant haltvagrant up。还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

如果您想更改 vagrant 名称(与虚拟框名称相比),您需要执行以下操作

Vagrant.configure(2) do |config|
  config.vm.box = "hashicorp/precise32"

  config.vm.define "web" do |web|
    web.vm.hostname = "web"
    web.vm.network :private_network, ip: "10.0.0.10"
    web.vm.provider :virtualbox do |vb|
      vb.name = "vagrant-web"
    end
  end

end

这种表示法主要用于multi VM,但如果您真的希望流浪汉名称与默认值不同,也可以用于单个VM。

启动虚拟机时,会说

$ vagrant up
Bringing machine 'web' up with 'virtualbox' provider...

所以,如果你查看状态,你会看到

$ vagrant status
Current machine states:

web                       running (virtualbox)

要进入机器,只需vagrant ssh,因为你有一台机器,(确保vagrant ssh web也可以工作)

注意事项作为一个新的流浪汉机器,它将真正创建一个具有新名称的新机器,你创建的默认机器仍然是如此,如果你已经有东西,它将不会自动复制到新机器中。如果你想保留现有的VM,你可以将默认目录从.vagrant文件夹重命名为web,它可以在理论上起作用,但我从未尝试过自己