我有一个非常简单的配置,可以从DigitalOcean的Debian 8图像生成图像:
{
"builders": [
{
"type": "digitalocean",
"image": "debian-8-x64",
"region": "nyc3",
"size": "512mb",
"snapshot_name": "debian-8-x64-with-sudo-{{timestamp}}"
}
],
"provisioners": [
{
"type": "shell",
"inline": [
"apt-get update",
"apt-get install -y sudo"
]
}
]
}
当我启动实例时,运行hostname
提供:
封隔器5694292c-AFBF-6df6-06e2-304624c76287
运行hostname -f
会产生以下错误消息:
hostname: Name or service not known
但是,查看/etc/hosts
和/etc/hostname
表示服务器应该具有我在Vagrantfile
中指定的主机名:
macmini-test-ae179a2c3b6a274e1c024fa3aee47b99cb234f5967a7c50b4db47119f4e1fda5
如何修复hostname -f
错误以使FQDN错误消失?我无法弄清楚packer-5694292c-afbf-6df6-06e2-304624c76287
主机名在系统上的位置。我知道那是打包过程中使用的打包机,但我现在不确定它在系统中的位置。
答案 0 :(得分:1)
Vagrant可能正在填充/ etc / hostname和/ etc / hosts文件,但有些东西需要运行hostname -s才能在框运行时实际设置它:
root@vagrant-ubuntu-trusty-64:~# echo coolhostyo > /etc/hostname
root@vagrant-ubuntu-trusty-64:~# hostname
vagrant-ubuntu-trusty-64
root@vagrant-ubuntu-trusty-64:~#
答案 1 :(得分:1)
我的主机名无效,因为它太长了。引用维基百科:
每个标签的长度必须介于1到63个字符之间
https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names