Comment puis-je automatiser le nettoyage des conteneurs et images Docker dans Amazon ECS ?

Date de la dernière mise à jour : 18/05/2020

Mon instance Amazon Elastic Compute Cloud (Amazon EC2) dans Amazon Elastic Container Service (Amazon ECS) a manqué d'espace. Dans mon fichier journal var/log/messages, je reçois un message d'erreur similaire à ce qui suit : « Insufficient free space: 1120 extents needed, but only 19 available » (« Espace libre insuffisant : 1120 extensions nécessaires, mais 19 disponibles uniquement. »)

Comment puis-je résoudre cette erreur ?

Brève description

Par défaut, l'agent de conteneur Amazon ECS élimine automatiquement les tâches arrêtées et les images Docker qui ne sont pas utilisées par des tâches de vos instances de conteneur. La fonction de nettoyage automatique d'image nécessite au moins la version 1.13.0 de l'agent de conteneur Amazon ECS.

Solution

Vous pouvez désactiver le nettoyage d'image, mais vous ne pouvez pas désactiver le nettoyage des conteneurs qui appartiennent aux tâches arrêtées. Vous pouvez modifier la durée d'attente à l'aide de la variable ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION.

Important : si vous définissez ECS_DISABLE_IMAGE_CLEANUP sur true (vrai), le nettoyage d'image automatisé est désactivé sur votre instance de conteneur et vos images ne sont pas automatiquement supprimées.

Pour plus d'informations sur le processus de nettoyage, consultez la section Tâche automatisée et nettoyage d'image. Pour plus d'informations sur la configuration de vos variables de tâches automatisées et de nettoyage d'image, consultez la section Paramètres ajustables.