Docker notes
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
- ↑ https://docs.docker.com/engine/install/debian/
- ↑ https://docs.docker.com/reference/cli/docker/container/create/
- ↑ https://stackoverflow.com/questions/18497688/run-a-docker-image-as-a-container
- ↑ https://stackoverflow.com/questions/36014777/docker-ps-shows-empty-list
- ↑ https://stackoverflow.com/questions/20813486/exploring-docker-containers-file-system