How can I automate the cleanup of Docker containers and images in Amazon ECS?

Last updated: 2020-05-18

My Amazon Elastic Compute Cloud (Amazon EC2) instance in Amazon Elastic Container Service (Amazon ECS) ran out of space. In my var/log/messages log file, I receive an error similar to the following: "Insufficient free space: 1120 extents needed, but only 19 available."

How can I resolve this error?

Short Description

By default, the Amazon ECS container agent automatically cleans up stopped tasks and Docker images that aren't used by tasks on your container instances. The automated image cleanup feature requires at least version 1.13.0 of the Amazon ECS container agent.

Resolution

You can disable the image cleanup, but you can't disable the cleanup of the containers that belong to the stopped tasks. You can change the wait duration using the ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION variable.

Important: If you set ECS_DISABLE_IMAGE_CLEANUP to true, then automated image cleanup is disabled on your container instance and your images aren't automatically removed.

For more information on the cleanup workflow, see Automated Task and Image Cleanup. For more information on how to configure your automated task and image cleanup variables, see Tunable Parameters.