docker rm


Remove one or more containers



For example uses of this command, refer to the examples section below.


Name, shorthand Default Description
--force , -f Force the removal of a running container (uses SIGKILL)
--link , -l Remove the specified link
--volumes , -v Remove anonymous volumes associated with the container


Remove a container

This removes the container referenced under the link /redis.

$ docker rm /redis


This removes the underlying link between /webapp and the /redis containers on the default bridge network, removing all network communication between the two containers. This does not apply when --link is used with user-specified networks.

$ docker rm --link /webapp/redis


Force-remove a running container

This command force-removes a running container.

$ docker rm --force redis


The main process inside the container referenced under the link redis will receive SIGKILL, then the container will be removed.

Remove all stopped containers

$ docker rm $(docker ps -a -q)

This command deletes all stopped containers. The command docker ps -a -q above returns all existing container IDs and passes them to the rm command which deletes them. Running containers are not deleted.

Remove a container and its volumes

$ docker rm -v redis

This command removes the container and any volumes associated with it. Note that if a volume was specified with a name, it will not be removed.

Remove a container and selectively remove volumes

$ docker create -v awesome:/foo -v /bar --name hello redis

$ docker rm -v hello

In this example, the volume for /foo remains intact, but the volume for /bar is removed. The same behavior holds for volumes inherited with --volumes-from.

Parent command

Command Description
docker The base command for the Docker CLI.