#!/bin/bash stty -echo INTERVAL=3 trap 'stty echo; exit' INT EXIT while true; do DOCKER_STATS=$(docker stats --no-stream --format "{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}") clear if [[ ! -z "$DOCKER_STATS" ]]; then echo "+----------------------------------------------------+------------+-----------------+-----------------+" printf "| %-50s | %-10s | %-15s | %-15s |\n" "Name" "CPU %" "Memory Usage" "Memory Limit" echo "+----------------------------------------------------+------------+-----------------+-----------------+" while IFS= read -r line; do line=$(echo "$line" | tr '/' ' ') container_info=($line) container_name=${container_info[0]} container_stats=(${container_info[@]:1}) printf "| %-50s | %-10s | %-15s | %-15s |\n" "$container_name" "${container_stats[0]}" "${container_stats[1]}" "${container_stats[2]}" done <<< "$DOCKER_STATS" echo "+----------------------------------------------------+------------+-----------------+-----------------+" else echo "No active containers found" break fi sleep $INTERVAL done