ECS使用docker-compose部署时ecs-searchdomain-sidecar容器停止问题
问题原因
该现象属于正常预期状态,不存在故障,具体说明如下:
App_ResolvConf_InitContainer是Docker Compose对接AWS ECS部署时,官方自动注入的初始化容器,作用是在业务容器启动前,给ECS任务的/etc/resolv.conf配置追加自定义搜索域(也就是你看到的命令参数里的us-east-1.compute.internal、my-app.local两个域名),方便集群内服务用短域名互相访问。- 初始化容器的设计逻辑就是执行完指定任务后主动退出,你看到的
Exit Code 0已经代表它的配置任务执行成功,STOPPED状态完全符合预期。 - 该镜像是Docker为ECS集成场景开发的专属轻量工具镜像,默认不会输出运行日志,所以CloudWatch查不到对应日志属于正常情况,没有公开资料也是因为它属于内部配套工具,没有对外发布详细说明。
- 你的业务容器
my-app运行正常、功能符合预期,就已经验证了该初始化容器的配置已经生效,不存在任何问题。
可选调整方案
如果你不需要自定义搜索域功能,不想让部署时自动注入该初始化容器,可以在Compose文件中添加关闭CloudMap自动配置的参数,修改后的Compose示例如下:
version: "3.9" x-ecs-cloudmap: disable: true services: web: image: my-private-repo/web ports: ["80:80"]
修改后重新执行docker compose up部署即可。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

