与机器名称不同的 Vagrant 主机名

Vagrant hostname that differs from machine name

似乎无论我设置什么 vm.hostname 值,运行 命令 hostname 都会生成 vagrant 机器的名称而不是我提供的主机名。

因此,鉴于此设置:

Vagrant.configure(2) do |config|
  config.vm.define "site1" do |s1_conf|
    s1_conf.vm.box = 'ubuntu/trusty64'
    s1_conf.vm.hostname = 'site1.dev'
  end
  config.vm.define "site2" do |s2_conf|
    s2_conf.vm.box = 'ubuntu/trusty64'
    s1_conf.vm.hostname = 'site2.dev'
  end
end

如果我先 vagrant ssh site2 然后 hostname,我会得到 "site2" 而不是 "site2.dev"。为什么?

我对它的工作原理的理解有误吗?或者它应该以这种方式工作,而我的代码中还有其他事情要做?

主机名字符无效

. 不是完全限定域名 (FQDN) 的主机名部分的有效字符。请尝试 site1-devsite2-dev