-
-
Save robsonke/c5c478bae476adb32d48 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# get all running docker container names | |
containers=$(sudo docker ps | awk '{if(NR>1) print $NF}') | |
host=$(hostname) | |
# loop through all containers | |
for container in $containers | |
do | |
echo "Container: $container" | |
percentages=($(sudo docker exec $container /bin/sh -c "df -h | grep -vE '^Filesystem|shm|boot' | awk '{ print +\$5 }'")) | |
mounts=($(sudo docker exec $container /bin/sh -c "df -h | grep -vE '^Filesystem|shm|boot' | awk '{ print \$6 }'")) | |
for index in ${!mounts[*]}; do | |
echo "Mount ${mounts[index]}: ${percentages[index]}%" | |
if (( ${percentages[index]} > 70 )); then | |
message="[ERROR] At $host and Docker container $container the mount ${mounts[index]} is at ${percentages[index]}% of its disk space. Please check this." | |
echo $message | |
echo $message | mail -s "Docker container $container at $host is out of disk space" "[email protected]" | |
fi | |
done | |
echo ================================ | |
done |
This helped me, thank you.
I am looking for a bash script which list the images which are tagged with another version of image. any example?.
Smoove! 👍 thanks
sudo docker ps
? sudo ? You should configure correctly your docker environment...
Is there any way to add each container to an AssociativeArray , seems like it is not looping through them ,
but just returning the list of them as only 1 item. i.e
for container in $containers
do
myArray+=([key]=$container)
done
echo "${#myArray[@]}"
Is just printing the first container
Am I doing something wrong in there ?
Thanks!
Should disable this line in the example or at least make the email an example email
echo $message | mail -s "Docker container $container at $host is out of disk space" "[email protected]"
Should disable this line in the example or at least make the email an example email
echo $message | mail -s "Docker container $container at $host is out of disk space" "[email protected]"
Oh haha yes, pretty old script. People even copy pasted it without even modifying and sharing me their monitoring emails....
This helped me a lot, thank you