Starting on bootEdit

See: Linux notes#Docker

Remove all images and containersEdit

docker rm -vf $(docker ps -aq) && docker rmi -f $(docker images -aq)

or

docker kill $(docker ps -q) && docker rm $(docker ps -a -q) && docker volume rm $(docker volume ls -q) && docker rmi $(docker images -q)

InstallEdit

Install docker[1]

apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Clean up space wasteEdit

Remove stopped containers, unused networks, dangling images, and build cache (the biggest win)Edit

# This is the nuclear option but 100% safe if you don’t care about old containers/images
docker system prune -a --volumes
# What it does:
# - Removes all stopped containers
# - Removes all networks not used by at least one container
# - Removes all dangling images + all images not referenced by any container (the -a part)
# - Removes all unused volumes (--volumes)
# Typical result: 20–200+ GB freed in one command

# If you want to be more cautious first:

docker system df                # shows what’s using space
docker system prune             # less aggressive (keeps images used by stopped containers)
docker volume prune            # removes unused volumes
docker image prune -a           # removes unused images
docker container prune          # removes stopped containers

Remove specific old containers/images you don’t needEdit

# List containers (including stopped)
docker ps -a --format "table Template:.ID\tTemplate:.Image\tTemplate:.Status\tTemplate:.Names"
# Remove specific ones
docker rm 1234567890ab abcdef123456
# List images and remove
docker images docker rmi some-old-image:tag

Clean up huge container logs (USE THIS TRUNCATE LINE)Edit

# Truncate all logs to 0 (safe)
sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"
# Or set a global log rotation limit (recommended long-term)
# Add to /etc/docker/daemon.json (create if missing):
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
# Then restart docker: sudo systemctl restart docker

Remove old build cache (if you use docker build a lot)Edit

docker builder prune -a   # removes all build cache
# or just the old stuff
docker builder prune --keep-storage 20GB   # keeps last 20GB, removes the rest

LinksEdit

[2][3][4][5]