繁体   English   中英

AWS ECS Fargate - 为什么 /etc/hosts 在 2 个 aws 账户之间不同?

[英]AWS ECS Fargate - Why /etc/hosts is different between 2 aws accounts?

我正在 aws 帐户 (aws-dev) 中的 aws ecs fargate 上部署一个 java 应用程序,它工作得很好。 我的应用程序调用以获取本地主机并能够解决它。

InetAddress.getLocalHost()

在应用程序启动时,我打印了 /etc/hosts 的内容,它看起来像这样:

127.0.0.1 localhost
10.111.11.111 ip-10-111-11-111.ec2.internal

到目前为止一切正常。

现在我有了另一个 aws 帐户 (aws-uat),并将相同的应用程序(相同的 docker 图像)部署到 ecs fargate,但出现未知主机错误。

java.net.UnknownHostException: 718ec01ffa6a11dea91ea43ea6d18328-1111111111: 718ec01ffa6a11dea91ea43ea6d18328-1111111111: System error

这个错误的原因看起来是,/etc/hosts 在这个帐户中是不同的。 这里的 /etc/hosts 内容如下所述,并且缺少主机名映射:

127.0.0.1 localhost
10.11.11.111

我的问题是为什么从 aws ecs fargate 上的相同 docker 图像运行的容器会有不同的 /etc/hosts 以及为什么在以后的情况下主机名没有映射到 ip? 这是否与 2 个帐户之间的 aws.networking 有关,如果是,可能是什么以及如何解决? 或者这里有其他问题?

您应该检查运行其中每一个的 VPC 中的 DNS 选项。我猜您可能在第二个 VPC 中禁用了 DNS 支持或 DNS 主机名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM