Vagrant VirtualBox 名称保留为默认值

标签 vagrant virtualbox vagrantfile

尽管阅读了本文

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 shutdownvagrant 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/

相关文章:

node.js - 使用 NodeJs 和 vagrant

docker - 如何通过Vagrantfile设置环境变量和/etc/hosts?

postgresql - 如何从 vagrant guest 机器访问主机上的端口

android - Virtualbox 中的 guest Linux 无法在其中运行 KVM,最好的替代方案是什么?

Vagrant 提供 salt : The function "state.highstate" is running

docker - 如何将docker端口2375从virtualbox转发到主机OS Windows 10

dns - 多个虚拟主机 - 此站点无法访问 Vagrant/Virtualbox

amazon-web-services - Vagrant +AWS : error downloading 'dummy'

linux - Linux 上的 Vagrant Up 错误

vagrant - Vagrantfile 中是否可以要求某些 Vagrant 和 VirtualBox 版本?