#!/bin/bash # Скрипт для мониторинга прогресса сборки Docker образа # Использование: ./check-build-progress.sh echo "📊 Мониторинг прогресса сборки Docker образа" echo "════════════════════════════════════════════════════════════" echo "" # Функция для проверки запущенных контейнеров check_containers() { echo "🐳 Запущенные контейнеры:" docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" echo "" } # Функция для проверки ресурсов check_resources() { echo "💻 Использование ресурсов Docker:" docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}" echo "" } # Функция для проверки кеша сборки check_cache() { echo "📦 Кеш Docker Builder:" docker builder du echo "" } # Функция для последних логов check_logs() { echo "📝 Последние логи (если контейнер запущен):" if docker ps | grep -q "global-it24-web"; then docker logs global-it24-web --tail 20 2>&1 | head -20 else echo " Контейнер web еще не запущен" fi echo "" } # Основной цикл while true; do clear echo "📊 Мониторинг прогресса сборки - $(date '+%H:%M:%S')" echo "════════════════════════════════════════════════════════════" echo "" # Проверка свободных ресурсов системы echo "🖥️ Системные ресурсы:" echo " RAM: $(free -h | awk '/^Mem:/ {printf "%s / %s (использовано: %s)", $3, $2, $3/$2*100"%"}')" echo " Диск: $(df -h / | awk 'NR==2 {printf "%s / %s (использовано: %s)", $3, $2, $5}')" echo "" check_containers check_resources echo "💡 Подсказки:" echo " • Этап 'Building fresh packages' занимает 8-12 минут - это нормально" echo " • Предупреждения (warnings) - это нормально" echo " • Для остановки мониторинга: Ctrl+C" echo "" echo "⏳ Обновление через 5 секунд..." sleep 5 done