🐳 Очистка старых контейнеров Docker |

🐳 Очистка старых контейнеров Docker

Мануал

Одной из наиболее важных особенностей использования контейнеров Docker является возможность быстрого ускорения любого количества новых сервисов в один момент.

Развертывание новых версий наших контейнеров можно сделать так же быстро.

Тем не менее, все эти действия в конечном итоге означают, что у вас будет кладбище старых контейнеров.

Давайте узнаем, как очистить ваши старые Docker контейнеры в этом руководстве.

Вы можете оказаться в среде, которая выполняет сборку каждый час или даже каждые несколько минут.

Все эти сборки заменяют предыдущие, а это означает, что хранилище вашего Docker-хоста перегружено мертвыми контейнерами.

Хранение не единственная проблема.

Вам могут быть назначены фактические имена ваших контейнеров, а не просто случайно сгенерированные.

Если вы не удалите свои старые контейнеры, вы не сможете использовать те же имена.

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

Периодическое удаление контейнеров Docker

Если вы не генерируете кучу контейнеров, но у вас закончилось хранилище, то следующее действие удалит все остановленные контейнеры.

docker ps -q -f status=exited | xargs --no-run-if-empty docker rm

Запланированное удаление контейнеров Docker

Автоматизация вашей задачи очистки поможет вам опередить проблемы с хранилищем.

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

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

Вам понадобится некоторое понимание того, как работает cron.

Я не буду вдаваться в подробности в этом руководстве, но следующие примеры должны помочь вам понять эти моменты.

Следующее задание cron будет выполняться раз в неделю, в воскресенье в 4:00.

0 4 * * 0 docker ps -q -f status=exited | xargs --no-run-if-empty docker rm
Это задание cron будет запускаться ежечасно в  первые 15 минут.
15 * * * * docker ps -q -f status=exited | xargs --no-run-if-empty docker rm
Эта задача cron будет выполняться один раз в день в полночь.
* 0 * * * docker ps -q -f status=exited | xargs --no-run-if-empty docker rm

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий