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.

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ