我该如何在 Amazon ECS 中自动执行 Docker 容器和映像清理?

上次更新时间:2020 年 5 月 18 日

我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例在 Amazon Elastic Container Service (Amazon ECS) 中耗尽了空间。在我的 var/log/messages 日志文件中,我收到与下述内容类似的错误消息:“可用空间不足:需要 1120 个区,但只有 19 个可用。”

如何解决此错误?

简短描述

默认情况下,Amazon ECS 容器代理会自动清理您的容器实例上任务未使用的已停止的任务和 Docker 图像。自动映像清除功能要求 Amazon ECS 容器代理的版本最低为 1.13.0。

解决方法

您可以禁用映像清理,但您无法禁用对属于已停止任务的容器的清理。您可以使用 ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION 变量更改等待时长。

重要提示:如果您将 ECS_DISABLE_IMAGE_CLEANUP 设置为 true,则在您的容器实例中禁用自动映像清理,且不会自动删除您的映像。

有关清理工作流程的详细信息,请参阅自动任务和映像清理。有关如何配置自动任务和映像清理变量的详细信息,请参阅可调参数