Using Docker is amazing. It makes development clean and simple. But after a while, your system might start to feel sluggish. Why? Because every container, image, volume, and network takes up precious space. If you don’t clean up regularly, your machine might get clogged like a dirty sink.
Don’t worry! Cleaning up Docker is super easy. Let’s walk through how to remove Docker containers and free up your system’s resources. Grab a coffee, and let’s have some fun with Docker cleanup!
Why Clean Up Docker Containers?
- Free up space: Containers, especially stopped ones, can take gigabytes of space.
- Improve performance: Too many running or dangling containers can lead to lag.
- Stay organized: Keeping your Docker environment tidy helps avoid confusion.
Think of containers like Tupperware in your fridge. They’re useful, but if you never throw out old leftovers, you’re going to have a problem.
Step 1: See What You Have
Before cleaning, let’s peek inside the Docker fridge. Run this command:
docker ps -aThis shows all containers, including the ones that are stopped.
If you only want to see the running ones:
docker psYou’ll be amazed at how many containers are just sitting there doing… nothing!
 
Step 2: Remove Stopped Containers
Let’s get rid of containers that are not running. Here’s the magic spell:
docker container pruneDocker will ask if you’re sure. Type y and hit enter. Boom! All stopped containers are gone.
Note: This removes only containers. It doesn’t touch volumes or images. Yet!
Step 3: Remove Specific Containers
Want to delete just one or two containers? First, grab the container ID:
docker ps -aThen run:
docker rm container_idReplace container_id with the actual ID or name. You can also delete multiple at once:
docker rm container1 container2Careful! Make sure you’re not deleting something important!
Step 4: Remove All Containers
Want to start really fresh? To remove all containers (running or stopped), do this:
docker rm -f $(docker ps -aq)This slaps a big “DELETE” sticker on all containers. Use it with caution.
Step 5: Clean Up Volumes
Volumes can eat a LOT of space. They store data even after containers are gone.
See your volumes:
docker volume lsRemove unused volumes:
docker volume pruneAgain, type y to confirm.
To remove specific volumes:
docker volume rm volume_nameMake sure no container is using them, or Docker will complain.
Step 6: Purge Old Images
Let’s clean up old images too. These are the blueprints used to build containers.
List all images:
docker imagesRemove unused or dangling images:
docker image pruneFeeling bold? Remove ALL unused images and more:
docker system pruneThis is the BIG BROOM. It removes:
- Stopped containers
- Unused networks
- Dangling images
- Build cache
Run it like this for maximum effect:
docker system prune -aWarning: The -a flag removes ALL unused images, not just dangling ones.
 
Bonus Tip: Automate Your Cleanup
Don’t want to remember cleanup every week? Automate it!
On Linux or macOS, you can create a simple cron job. For example:
0 0 * * 0 docker system prune -af --volumesThis runs every Sunday at midnight. Bye-bye, digital trash!
Check Your Disk Space
Wondering how much space Docker is using? Try:
docker system dfThis gives you a nice overview. It shows how much is used by containers, images, volumes, and more.
Here’s what you might see:
- Images: 10GB
- Containers: 1GB
- Volumes: 5GB
Surprised? Told you it builds up fast!
What If You Delete Something You Need?
First off, don’t panic. If it’s just a container, and the image is still there, you can rebuild it!
Example:
docker run -d image_nameIf you deleted the image too, hopefully it’s available on Docker Hub or GitHub.
That’s why using Dockerfiles or docker-compose.yml is a great practice—it makes rebuilding super fast.
Treat Containers Like Paper Plates
Docker containers are made to be disposable. Spin them up, use them, toss them out. That’s the beauty of it!
Don’t get sentimental with your containers. Rebuild with confidence, and keep your environment clean.
 
Quick Summary
Need a recap? Here’s your Docker cleanup checklist:
- View containers: docker ps -a
- Remove stopped containers: docker container prune
- Remove specific containers: docker rm container_id
- Remove all containers: docker rm -f $(docker ps -aq)
- Clean volumes: docker volume prune
- Image cleanup: docker image pruneordocker system prune -a
- Check disk usage: docker system df
One Last Thought
Keeping Docker clean is like washing dishes. It’s not super fun, but it saves you from chaos later.
Do it regularly, and your system will love you. Plus, you become a Docker ninja 🥷.
Now go ahead—open that terminal and sweep up those old containers. It’s cleanup time!


 
		