当我在群集集群上运行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处的命令输出似乎正是我要寻找的内容。你知道我怎么能做到吗?
答案 0 :(得分:1)
这取决于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
:
使用docker swarm join
加入hostname
时,无法设置swarm
。