Update Scripts/container-size.sh
Remove layers except merged, add docu.
This commit is contained in:
parent
0dcc088b7f
commit
379899af93
@ -1,47 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
clear
|
||||
|
||||
# Optional: prune Docker
|
||||
docker volume prune -af 2>&1 > /dev/null
|
||||
docker image prune -af 2>&1 > /dev/null
|
||||
docker builder prune -af 2>&1 > /dev/null
|
||||
|
||||
# Set field seperator to new line
|
||||
IFS=$'\n'
|
||||
|
||||
# Get 25 largest directories in ./overlay2
|
||||
clear
|
||||
echo "Searching for large directories.."
|
||||
overlay=($(du -sh /var/lib/docker/overlay2/* | sort -hr | head -n 10))
|
||||
overlay=($(du -sh /var/lib/docker/overlay2/* | sort -hr | head -n 25))
|
||||
|
||||
clear
|
||||
echo "Containers that use a lot of space:"
|
||||
|
||||
# Iterate through lines
|
||||
for layer in "${overlay[@]}"; do
|
||||
|
||||
# Extract size
|
||||
size=$(echo $layer | awk '{print $1}')
|
||||
|
||||
# Extract layer ID
|
||||
layer_id=$(echo $layer | awk '{print $2}' | sed 's|/var/lib/docker/overlay2/||g')
|
||||
|
||||
# Check MergeDir
|
||||
container_name=$( docker inspect $(docker ps -qa) | jq -r 'map([.Name, .GraphDriver.Data.MergedDir]) | .[] | "\(.[0])\t\(.[1])"' \
|
||||
# Extract container name
|
||||
container_name=$(docker inspect $(docker ps -qa) | jq -r 'map([.Name, .GraphDriver.Data.MergedDir]) | .[] | "\(.[0])\t\(.[1])"' \
|
||||
| grep -w $layer_id | awk '{print $1}' | sed 's|/||g')
|
||||
|
||||
# Check UpperDir
|
||||
if [[ -z $container_name ]]; then
|
||||
container_name=$( docker inspect $(docker ps -qa) | jq -r 'map([.Name, .GraphDriver.Data.UpperDir]) | .[] | "\(.[0])\t\(.[1])"' \
|
||||
| grep -w $layer_id | awk '{print $1}' | sed 's|/||g')
|
||||
fi
|
||||
|
||||
# Check LowerDir
|
||||
if [[ -z $container_name ]]; then
|
||||
container_name=$( docker inspect $(docker ps -qa) | jq -r 'map([.Name, .GraphDriver.Data.LowerDir]) | .[] | "\(.[0])\t\(.[1])"' \
|
||||
| grep -w $layer_id | awk '{print $1}' | sed 's|/||g')
|
||||
fi
|
||||
|
||||
# Check WorkDir
|
||||
if [[ -z $container_name ]]; then
|
||||
container_name=$( docker inspect $(docker ps -qa) | jq -r 'map([.Name, .GraphDriver.Data.WorkDir]) | .[] | "\(.[0])\t\(.[1])"' \
|
||||
| grep -w $layer_id | awk '{print $1}' | sed 's|/||g')
|
||||
fi
|
||||
|
||||
# Filter out layers without container
|
||||
if [[ -n $container_name ]]; then
|
||||
echo "$size $container_name"
|
||||
echo "$size $container_name ($layer_id)"
|
||||
fi
|
||||
done
|
Loading…
x
Reference in New Issue
Block a user