我可以将 ECS 配置为自动从我的 EC2 实例中清除旧容器 [images] 吗?

Can I configure ECS to automatically purge old container [images] from my EC2 instances?

我感觉这是一个相当标准的 ECS 部署:

现在有好几次我去部署一个新的服务实例,结果 ECS 变得不高兴,因为它无法在我的 EC2 实例上找到新映像的 space – 我得到“否space 留在设备上” CloudWatch 中的错误。

如果我通过 SSH 进入实例,我发现它有我所有 Docker 图像和容器的旧副本——前者几乎有 100 个,后者有 500 个。我可以通过 运行 docker rmdocker rmi 命令手动释放磁盘 space,但我天真地认为这是 ECS 会为我管理的事情。

当我设置服务和任务时,我通常从不与单个主机或容器交互——我相信 ECS 会为我安排容器。我预计它还会根据需要清除旧容器映像以释放磁盘 space。 (我知道这不是 Docker 提供的功能。)

我可以设置警报来监控我的 EC2 实例上的磁盘 space,并根据需要登录到空闲磁盘 space – 但我想知道我是否遗漏了什么。

我可以告诉 ECS 从我的 EC2 实例中清除 old/unused 容器 [images] 吗?

是的!由于版本 1.13.0, the ECS agent has automatically cleaned up old, unused images. You can see the default settings and find how to customize them in the README(查看 ECS_IMAGE_CLEANUP_INTERVALECS_IMAGE_MINIMUM_CLEANUP_AGEECS_NUM_IMAGES_DELETE_PER_CYCLE)。