使用 docker-compose 的 ECS 中的 ecs-searchdomain-sidecar 问题

Issue with ecs-searchdomain-sidecar in ECS with docker-compose

部署后,我转到我的集群,我看到了我的服务,并在我的服务中看到了任务。 当我点击任务时,我有 2 个容器:

我的应用程序 运行 并且按预期工作,但是 App_ResolvConf_InitContainer 显示为已停止。 当我展开它以查看更多信息时,它显示:

图像:docker/ecs-searchdomain-sidecar:1.0

详细信息: 退出代码 0 命令 ["us-east-1.compute.internal","my-app.local"]

当我去 CloudWatch 检查日志时,这个流中没有日志。

上下文: 我的集群位于私有子网中。 我在 public 子网中创建了 NAT 网关并更新了路由 table.

拉取图片似乎没有问题。 如果我将 redis 添加到我的撰写文件中,它会拉取并创建容器

   redis:
     image: "redis:alpine"

这是我的撰写文件:

version: "3.9"

services:
  web: 
    image: my-private-repo/web
    ports: ["80:80"]

当我搜索 docker/ecs-searchdomain-sidecar:1.0 时,我找不到相关信息。此外,它不提供任何错误。刚刚停止。

我在 docker 撰写或 docker 撰写转换期间没有收到任何警告。

TL/DR 版本是您不必担心的,它按预期工作。你可以忽略那个sidecar。

较长的版本是,由于 ECS 服务的工作方式,在某些情况下(取决于您的主应用程序容器所基于的 Linux 映像)如果没有完全限定的名称,则无法解析普通服务名称域名(例如 web.local)。该 sidecar 在本地解析器级别做了一个技巧,使 web 能够在这些情况下得到解析。你看到的是 sidecar 做出这个把戏然后退出。它按预期工作。