67 lines
2.6 KiB
Bash
Executable File
67 lines
2.6 KiB
Bash
Executable File
#!/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
|