3

I have created a lot of images but I don't know how to delete them efficiently.

Does anyone know good command to remove the images smartly?

Thank you very much!

Ching-Hang Hsu
  • 70
  • 1
  • 1
  • 7
  • This question already had comprehensive answers [here](https://stackoverflow.com/a/32723127/4676641) and [here](https://stackoverflow.com/a/44785784/4676641) some of which were re-iterated below. – cam Feb 25 '21 at 03:39

3 Answers3

10

you can try docker rmi -f $(docker images -q)

Explanation:

docker images -q will list all the image id's. Then you pass all the image id's to docker rmi -f

Community
  • 1
  • 1
Peter Lee
  • 136
  • 5
6

The following should delete all your unused images and stopped containers:

$ docker system prune -a

Source

SpaceKatt
  • 976
  • 6
  • 12
4

At first, you need to delete/stop the running container that is using your image(which one you want to remove).

  • docker ps -a: To see all the running containers in your machine.
  • docker stop <container_id>: To stop a running container.
  • docker rm <container_id>: To remove/delete a docker container(only if it stopped).
  • docker image ls: To see the list of all the available images with their tag, image id, creation time and size.
  • docker rmi <image_id>: To delete a specific image.
  • delete rmi -f <image_id>: To delete a docker image forcefully
  • docker rm -f (docker ps -a | awk '{print$1}'): To delete all the docker container available in your machine
  • docker image rm <image_name>: To delete a specific image

To remove the image, you have to remove/stop all the containers which are using it.

  • docker system prune -a: To clean the docker environment, removing all the containers and images.

N.B: For docker common commands you can see: docker essential commands

Sahadat Hossain
  • 3,583
  • 2
  • 12
  • 19