为什么 Vagrant 会截断主机名

Why does Vagrant truncate hostname

我在 VagrantFile 中设置主机名,如下所示:

config.vm.hostname = "demo.puppet"

然而,这最终的主机名仅为 demo:

vagrant@demo:~$ hostname
demo

Vagrant 似乎会在第一个 . 处截断,这是预期的行为吗,因为网络上的大量示例似乎都包含带有 . 的主机名。

与Vagrant无关。主机名只能包含 a-z、0-9 和破折号 (-)。当您设置该主机名时,您在域 "puppet" 中将主机名设置为 "demo"。您应该改用 "demo-puppet"。

附带说明一下,我已经开始养成在我的 VM 主机名中包含 Vagrant 主机的主机名的习惯。它可以在以后派上用场,例如在部署构建时,您可以包含部署它的主机名。像这样的一行:你的 Vagrantfile 中的 config.vm.hostname = "myapp-vagrant-#{hostname[0..-2]}" 就可以了,将主机名(在我的例子中)设置为 "myapp-vagrant-nhoover-osx".