【问题标题】:AWS ECS Fargate - Why /etc/hosts is different between 2 aws accounts?AWS ECS Fargate - 为什么 /etc/hosts 在 2 个 aws 账户之间不同?
【发布时间】:2021-09-26 23:29:38
【问题描述】:

我正在 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? 这是否与两个帐户之间的 aws 网络有关,如果是,它可能是什么以及如何解决它?还是这里有什么问题?

【问题讨论】:

标签: amazon-web-services docker amazon-ecs aws-fargate


【解决方案1】:

您应该检查DNS options in the VPC,每个都在其中运行。我猜您可能在第二个 VPC 中禁用了 DNS 支持或 DNS 主机名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多