当我在群集集群上运行docker node ls
命令时,结果如下
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
0yy1e9u4gl7hipgvltffxv0pn * host1 Ready Active Leader 18.09.5
413mv8n6rd9j2nt48km16mta6 host1 Ready Active 18.09.5
问题是两个服务器都具有相同的主机名,但域名不同。有没有办法让群集使用FQDN而不是主机名来标识节点?我以为这是不可能的,但是后来我偶然发现this tutorial,该命令的输出似乎正是我在寻找的内容。你知道我怎么能做到吗?
最佳答案
这也取决于节点hostname
的设置。
默认情况下,docker node ls
显示短主机名(例如hostname
),而不显示FQDN(例如hostname -f
)。您可以将简短的hostname
设置为FQDN的值,即:sudo hostname $(hostname -f)
(注意:仅在下一次重新引导之前有效-man hostname
了解更多详细信息)并更新/etc/hostname
,即:hostname -f |sudo tee /etc/hostname
然后docker node ls
:
对所有结点进行清洗,冲洗和重复,您应该保持良好状态:
更新:加入swarmkit
集群时,可以使用 hostname
设置任意swarm
:
使用 hostname
加入swarm
时,无法设置docker swarm join
。
关于docker - 在 `docker node ls`输出中显示FQDN而不是主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58646826/