Docker: Remove All Images and Containers

By  on  
Docker

I've moved to a new project at Mozilla which uses a much different stack than I'm used to; suddenly I'm thrust into a world of Mercurial, Docker, and a few other technologies I'm not accustomed to.  You know what that leads to:  foul language, frustration, booze, and...lots of starting over.  Some hate starting over but wiping the slate clean provides me a bit of ease, knowing that I'm not compounding the problem by trying to patch a fix of a shim.

Starting over in this case means wiping clean my Docker images and containers, just to make sure there are no conflicts or duplicates.  The following commands delete all containers and images:

# Delete every Docker containers
# Must be run first because images are attached to containers
docker rm -f $(docker ps -a -q)

# Delete every Docker image
docker rmi -f $(docker images -q)

Of course you don't want to do this if you're using Docker across multiple projects -- you'll find yourself in a world of hurt if you break your other images and containers.

There you have it -- a clean Docker slate in one pass!

Recent Features

  • By
    Creating Scrolling Parallax Effects with CSS

    Introduction For quite a long time now websites with the so called "parallax" effect have been really popular. In case you have not heard of this effect, it basically includes different layers of images that are moving in different directions or with different speed. This leads to a...

  • By
    fetch API

    One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for.  We've done well to create elegant APIs around XHR but we know we can do better.  Our effort to...

Incredible Demos

  • By
    Facebook Sliders With Mootools and CSS

    One of the great parts of being a developer that uses Facebook is that I can get some great ideas for progressive website enhancement. Facebook incorporates many advanced JavaScript and AJAX features: photo loads by left and right arrow, dropdown menus, modal windows, and...

  • By
    Retrieve Your Gmail Emails Using PHP and IMAP

    Grabbing emails from your Gmail account using PHP is probably easier than you think. Armed with PHP and its IMAP extension, you can retrieve emails from your Gmail account in no time! Just for fun, I'll be using the MooTools Fx.Accordion plugin...

Discussion

  1. Raul Leite

    -f to brute force and resolve any conflicts between images and containers:

    docker rmi -f $ (docker images -q)
    
    docker rm -f $ (ps docker -q -a)
    
  2. #Stop all dockers

    docker stop $(ps docker -q -a)
    
  3. Ivan

    Force delete everything with attached volumes:

    docker rm -vf $(docker ps -aq)
    • Vish

      This doesn’t work.

  4. There is also new docker command, that will delete all unused images and volumes. It is less brute force and is usually save enough to put in cron on dev machine.

    docker system prune --all

    https://docs.docker.com/engine/reference/commandline/system_prune/

  5. Umesh

    How to remove all docker images in Windows 10?

  6. There is also new docker command, that will delete all unused images and volumes. It is less brute force and is usually save enough to put in cron on dev machine.

    docker system prune --all
    

    https://docs.docker.com/engine/reference/commandline/system_prune/

  7. Vish

    Perhaps you should have added how to remove all volumes too.

  8. There is also new docker command, that will delete all unused images and volumes. It is less brute force and is usually save enough to put in cron on dev machine. Ok!

  9. pavnesh yadav

    try this command

    docker system prune --all

    – all stopped containers
    – all networks not used by at least one container
    – all images without at least one container associated to them
    – all build cache

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!