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.

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南