ECS容器的DNS查找

0

【以下的问题经过翻译处理】 当使用桥接网络时,ECS似乎不会为容器提供名称。我创建了一个任务,包含一个前端和一个数据库容器。数据库容器的名称为“database”。我期望前端能够通过名称连接到它,但为什么它不能工作呢?在Docker中可以正常工作,因此在ECS中也应该可以,但事实并非如此。

profile picture
专家
已提问 5 个月前0 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果您在使用桥接网络的同一任务中运行多个容器,可以通过在容器定义中配置适当的链接来通过容器名称引用其中一个容器。

例如,如果您有一个名为“main”的容器和另一个名为“sidecar”的容器的任务定义,则可以在主容器的 /etc/hosts 文件中发布“sidecar”的 IP 地址,如下所示:

        "containerDefinitions": [
            {
                "name": "main",
                "links": [
                    "sidecar"
                ],
                ...
            },
            {
                "name": "sidecar",
                ...
            }
         ]

main容器中,您将看到发布的IP:

127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.4      sidecar sidecar ecs-EcsBridgeContainerNameTestStackTaskDefBF06B5D6-6-sidecar-c2ad99be83f489e00c00
172.17.0.5      main

另请参见“ECS任务定义文档”中的“网络设置”。

profile picture
专家
已回答 5 个月前

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

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

回答问题的准则