Amazon Linux 2 in a Docker missing hostname command

0

We're developing an app running in a Docker container: on-premises, so this question is purely about Amazon Linux 2 and has nothing to do with AWS.

I'm migrating the image from the one based on centos:7 to amazoncorretto:17, based on amazonlinux:2. Surprisingly, hostname -f, which is used to get an FQDN inside a container, is failing because Amazon Linux 2 doesn't have hostname.

We do need the host FQDN, and it gets propagated to containers either via host networking or via Docker's Swarm --hostname {{.Node.Hostname}}, etc.

I have two questions:

  1. How do I get an FQDN without hostname?
  2. Why did Amazon Linux 2 remove it? Even Alpine has it. Would it make sense to put it back?
profile picture
DK
已提问 2 年前700 查看次数
1 回答
1
已接受的回答

Hi,

You can get the hostname command using yum

yum install hostname

Another alternative would be to build your own customized image from amazoncorretto:17 with hostname preinstalled so as to avoid the need for any install during runtime.

--Syd

profile picture
Syd
已回答 2 年前
profile picture
专家
已审核 1 天前
  • Yes, this seems to be the easiest fix.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则