This commit is contained in:
38
scripts/docker-prune.sh
Executable file
38
scripts/docker-prune.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
# Free disk before docker compose build (build cache is the usual culprit for Go OOM / no space).
|
||||
# Safe on deploy hosts: does NOT use --volumes (keeps named DB volumes).
|
||||
set -euo pipefail
|
||||
|
||||
docker_cmd() {
|
||||
if docker info >/dev/null 2>&1; then
|
||||
docker "$@"
|
||||
elif sudo docker info >/dev/null 2>&1; then
|
||||
sudo docker "$@"
|
||||
else
|
||||
echo "docker not available — skip prune" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo "==> disk before prune"
|
||||
df -h / 2>/dev/null || true
|
||||
if [[ -d /var/lib/docker ]]; then
|
||||
df -h /var/lib/docker 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if ! docker info >/dev/null 2>&1 && ! sudo docker info >/dev/null 2>&1; then
|
||||
echo "docker not available — skip prune" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "==> docker builder prune (build cache)"
|
||||
docker_cmd builder prune -af || true
|
||||
|
||||
echo "==> docker system prune (unused images, stopped containers, networks)"
|
||||
docker_cmd system prune -af || true
|
||||
|
||||
echo "==> disk after prune"
|
||||
df -h / 2>/dev/null || true
|
||||
if [[ -d /var/lib/docker ]]; then
|
||||
df -h /var/lib/docker 2>/dev/null || true
|
||||
fi
|
||||
Reference in New Issue
Block a user