尽管阅读了本文
How to change Vagrant 'default' machine name?
我的主机名被固定为默认
这是我的 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 shutdown
和vagrant up
。还有其他建议吗?
最佳答案
如果您想更改 vagrant 名称(与 virtualbox 名称相比),您需要执行以下操作
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 的情况但如果您确实希望 vagrant 名称与默认名称不同,也可以在您的情况下用于单个虚拟机。
当你启动虚拟机时,它会说
$ vagrant up
Bringing machine 'web' up with 'virtualbox' provider...
因此,如果您查看状态,您将看到
$ vagrant status
Current machine states:
web running (virtualbox)
要通过 ssh 连接到计算机,您只需使用 vagrant ssh
即可,因为您只有一台计算机(当然 vagrant ssh web
也可以使用)
注意一点,因为它是一台新的 Vagrant 机器,它实际上会使用新名称创建一台新机器,您创建的默认机器仍然存在,所以如果您已经有东西在那里,它不会自动复制到新机器中。如果您想保留现有的虚拟机,您可以将 .vagrant
文件夹中的 default 目录重命名为 web,理论上它可以工作,但我自己从未尝试过
关于Vagrant VirtualBox 名称保留为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40656374/