bash DevOps

Docker Cleanup Script

Comprehensive Docker cleanup script that removes stopped containers, dangling images, unused volumes, and old build cache.

Apex Logic 0 copies
bash
#!/bin/bash
# Docker Cleanup Script - removes unused resources safely
set -euo pipefail

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo -e "${YELLOW}=== Docker Cleanup Script ===${NC}"

# Stop all running containers (optional - uncomment if needed)
# echo -e "${YELLOW}Stopping all running containers...${NC}"
# docker stop $(docker ps -q) 2>/dev/null || true

echo -e "${GREEN}Removing stopped containers...${NC}"
docker container prune -f

echo -e "${GREEN}Removing dangling images...${NC}"
docker image prune -f

echo -e "${GREEN}Removing unused volumes...${NC}"
docker volume prune -f

echo -e "${GREEN}Removing unused networks...${NC}"
docker network prune -f

echo -e "${GREEN}Removing build cache older than 7 days...${NC}"
docker builder prune -f --filter "until=168h"

# Remove images older than 30 days
echo -e "${GREEN}Removing images older than 30 days...${NC}"
docker image prune -a -f --filter "until=720h"

# Show disk usage summary
echo -e "${YELLOW}\n=== Disk Usage Summary ===${NC}"
docker system df

echo -e "${GREEN}\nCleanup complete!${NC}"

Tags

docker cleanup devops automation

Related Snippets

bash

SSL Certificate Auto-Renewal

bash

MongoDB Backup Script

bash

PM2 Deployment Script

bash

Log Rotation Script