👁 В продакшн-средах часто накапливаются старые образы Docker, которые больше не используются, но остаются на диске и занимают много места. Часто забываем о старых образах, особенно в CI/CD пайплайнах. А с помощью Bash можно легко автоматизировать очистку, чтобы не тратить время на ручную проверку.
📝 Вот пример скрипта, который находит неиспользуемые образы и удаляет их:
#!/bin/bash # Ожидание всех процессов остановки контейнеров docker ps -aq | xargs docker stop &> /dev/null # Удаляем все остановленные контейнеры docker ps -aq | xargs docker rm &> /dev/null # Находим неиспользуемые образы и удаляем их docker images -q --filter "dangling=true" | xargs docker rmi &> /dev/null # Очистка неиспользуемых volumes docker volume ls -qf "dangling=true" | xargs docker volume rm &> /dev/null echo "Очистка завершена!"
📌 Как это работает:
- Останавливает все контейнеры — сначала останавливаются все работающие контейнеры (через
docker stop) - Удаляет все остановленные контейнеры — чтобы не было мусора в виде остановленных контейнеров (через
docker rm) - Удаляет неиспользуемые образы — очищает неиспользуемые образы (с помощью фильтра
--filter "dangling=true") - Удаляет неиспользуемые volumes — избавляется от неиспользуемых томов, которые могут занимать много места
❗️ Это решение идеально подходит для серверов, где Docker работает долго и образы быстро накапливаются. Можете настроить выполнение скрипта каждую неделю, чтобы автоматизировать очистку без вмешательства.
tags: #docker #bash #полезно
❤️ @recura_tech



