docker rm

Estimated reading time: 2 minutes

Edge only: This is the CLI reference for Docker CE Edge versions. Some of these options may not be available to Docker CE stable or Docker EE. You can view the stable version of this CLI reference or learn about Docker CE Edge.


Remove one or more containers




Name, shorthandDefaultDescription
--force , -fForce the removal of a running container (uses SIGKILL)
--link , -lRemove the specified link
--volumes , -vRemove the volumes associated with the container

Parent command

dockerThe base command for the Docker CLI.


Remove a container

This will remove the container referenced under the link /redis.

$ docker rm /redis


This will remove 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 will force-remove 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 will delete all stopped containers. The command docker ps -a -q will return all existing container IDs and pass them to the rm command which will delete them. Any running containers will not be deleted.

Remove a container and its volumes

$ docker rm -v redis

This command will remove 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 will remain intact, but the volume for /bar will be removed. The same behavior holds for volumes inherited with --volumes-from.