ECS容器的DNS查找

0

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

profile picture
전문가
질문됨 6달 전3회 조회
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
전문가
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인