I am trying to delete a docker container by this command:
docker rmi
Obviously, I have replaced the Image-Id by the Id I get u
You can also use --force , -f
Force removal of the image
If you use the -f flag and specify the image’s short or long ID, then this command untags and removes all images that match the specified ID.
docker rmi -f <image_id>
Note: this command removes images being used by containers.
If you have changed in the Dockerfile
and if you are using docker compose, you can just rebuild your image by run docker-compose
with the --build
option !
In case docker rmi <image-id>
didn't work, try this:
Stop all running containers
docker stop $(docker ps -aq)
Remove all containers
docker rm $(docker ps -aq)
Remove all images
docker rmi $(docker images -q)
You may also find that you have stopped containers that are causing the lock. Remove these first using:
docker rm $(docker ps -q -a)
Here we are listing the docker processes by just the ID and then removing those; however, docker rm will only remove stopped containers.
Next go back and remove the images using:
docker image rm <image_id>
In addition to the other answers, I had the same issue using Docker for Mac but docker ps -a
did not show any running containers. Running docker images
shows:
docker/desktop-storage-provisioner v1.0 605a0f683b7b 2 months ago 33.1MB
k8s.gcr.io/kube-controller-manager v1.15.5 1399a72fa1a9 6 months ago 159MB
k8s.gcr.io/kube-proxy v1.15.5 cbd7f21fec99 6 months ago 82.4MB
k8s.gcr.io/kube-apiserver v1.15.5 e534b1952a0d 6 months ago 207MB
k8s.gcr.io/kube-scheduler v1.15.5 fab2dded59dd 6 months ago 81.1MB
docker/kube-compose-controller v0.4.23 a8c3d87a58e7 11 months ago 35.3MB
docker/kube-compose-api-server v0.4.23 f3591b2cb223 11 months ago 49.9MB
k8s.gcr.io/coredns 1.3.1 eb516548c180 16 months ago 40.3MB
k8s.gcr.io/etcd 3.3.10 2c4adeb21b4f 17 months ago 258MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 2 years ago 742kB
All of these images are used by the Docker app if you have Kubernetes enabled. In the Docker for Mac preferences, there is a section for Kubernetes. If you click "Show system containers (advanced)", they will appear in docker ps
.
If you wish to delete these images, you need to disable Kubernetes via the Docker for Mac app, then try again.
If the goal is to reclaim disk space, another approach not yet mentioned is to use docker system prune
. It will print a warning which should be heeded:
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
This will not delete named images, but will purge intermediate unnamed images. Depending on the sizes of containers you're using, this can save a considerable amount of disk space.