2016-03-15 2 views
1

Есть ли способ ограничить количество выведенных контейнеров на хосте вообще или (в идеале) на конкретные изображения?Ограничить количество выведенных контейнеров на хосте (1.8.3)

У меня есть задание cron, которое выполняется ежедневно, чтобы удалить их, но я бы хотел, чтобы докер обрабатывал его, если это возможно.

Я не могу просто выполнять задание cron чаще, потому что разработчикам нравится несколько старых копий контейнера для проверки.

+1

Вы можете запустить свои контейнеры с помощью 'docker run -rm', если он применим для вашей среды, чтобы они автоматически исчезли – user2915097

ответ

1

Docker не поддерживает ограничение на количество выходящих контейнеров. Фактически, Docker не поддерживает любую форму сбора мусора для остановленных контейнеров. Однако есть сторонние инструменты, такие как docker-gc, которые поддерживают сбор мусора старых контейнеров и неиспользуемые изображения. Однако docker-gc не поддерживает ограничение количества остановленных контейнеров по вашему запросу.

Если вы хотите написать сценарий, который решает вашу проблему: docker inspect дает вам FinishedAt дату для остановленных контейнеров. Вы можете перечислить все контейнеры с определенным изображением, отсортировать их по дате окончания и удалить все изображения, которые превышают ваш лимит. Для этого может понадобиться модуль python docker-py.

Смежные вопросы