podman-rm - Man Page
Remove one or more containers
Synopsis
podman rm [options] container
podman container rm [options] container
Description
podman rm removes one or more containers from the host. The container name or ID can be used. This does not remove images. Running or unusable containers are not removed without the -f option.
Options
--all, -a
Remove all containers. Can be used in conjunction with -f as well.
--cidfile=file
Read container ID from the specified file and rm the container. Can be specified multiple times.
Command does not fail when file is missing and user specified --ignore.
--depend
Remove selected container and recursively remove all containers that depend on it.
--filter=filter
Filter what containers remove. Multiple filters can be given with multiple uses of the --filter flag. Filters with the same key work inclusive with the only exception being label which is exclusive. Filters with different keys always work exclusive.
Valid filters are listed below:
| Filter | Description |
| id | [ID] Container's ID (CID prefix match by default; accepts regex) |
| name | [Name] Container's name (accepts regex) |
| label | [Key] or [Key=Value] Label assigned to a container |
| exited | [Int] Container's exit code |
| status | [Status] Container's status: 'created', 'initialized', 'exited', 'paused', 'running', 'unknown' |
| ancestor | [ImageName] Image or descendant used to create container |
| before | [ID] or [Name] Containers created before this container |
| since | [ID] or [Name] Containers created since this container |
| volume | [VolumeName] or [MountpointDestination] Volume mounted in container |
| health | [Status] healthy or unhealthy |
| pod | [Pod] name or full or partial ID of pod |
| network | [Network] name or full ID of network |
| until | [DateTime] Containers created before the given duration or time. |
| command | [Command] the command the container is executing, only argv[0] is taken |
--force, -f
Force the removal of running and paused containers. Forcing a container removal also removes containers from container storage even if the container is not known to Podman. For example, containers that are created by different container engines like Buildah. In addition, forcing can be used to remove unusable containers, e.g. containers whose OCI runtime has become unavailable.
--ignore, -i
Ignore errors when specified containers are not in the container store. A user might have decided to manually remove a container which leads to a failure during the ExecStop directive of a systemd service referencing that container.
Further ignore when the specified --cidfile does not exist as it may have already been removed along with the container.
--latest, -l
Instead of providing the container name or ID, use the last created container. Note: the last started container can be from other users of Podman on the host machine. (This option is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines)
--time, -t=seconds
Seconds to wait before forcibly stopping the container. Use -1 for infinite wait.
The --force option must be specified to use the --time option.
--volumes, -v
Remove anonymous volumes associated with the container. This does not include named volumes created with podman volume create, or the --volume option of podman run and podman create.
Examples
Remove container with a given name:
$ podman rm mywebserver
Remove container with a given name and all of the containers that depend on it:
$ podman rm --depend mywebserver
Remove multiple containers with given names or IDs:
$ podman rm mywebserver myflaskserver 860a4b23
Remove multiple containers with IDs read from files:
$ podman rm --cidfile ./cidfile-1 --cidfile /home/user/cidfile-2
Forcibly remove container with a given ID:
$ podman rm -f 860a4b23
Remove all containers regardless of the run state:
$ podman rm -f -a
Forcibly remove the last created container. (This option is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines):
$ podman rm -f --latest
Remove by name:
$ podman rm --filter name=test-alpine 34f997d354017a0076402c3a79245a5b8bd11b597c84385bec25ae8941fd5238
Remove by label:
$ podman rm --filter label=app=frontend 5a3694a13436168ea99490e74b489566c646d6a0db29868f57113298110d1b1c
Remove by status:
$ podman rm --filter status=exited 4a3332649ed8bec1e0d82e113074b9a13d45582007aeac969c005992cc480a73 f8e85f84a749b205fb602895afa6ec8a866045ff27b82f843033712c8b93a2c9 7d17e850c9b172f11a3e20bab81da6fc694c35c2dc38d84083eb57869dcaca63 47972eb04aa7c77705b597a929957d1e8a392e00b44c0a2a7f88a01f9f860d11
Remove by ancestor:
$ podman rm --filter ancestor=nginx 8a7668cdec27664559a7da55ed5cda101f904441f7245e248218580656b2bae3 0d297b336bf31d141c7720a791c45dafdb8b5033deaab12f29b88e5bff6b122d 134475ac5140687d1eefff19f937dc24755f6c18e37e11d61b1084b59f1bdbe2
Remove by volume:
$ podman rm --filter volume=web-vol b3f4d4c6a67e2ef1e089efdc8ff3a47dba008eb0ff1e53ae60f59279cb43f9ba
Remove by network:
$ podman rm --filter network=web-net 1c057cac90c0512df86197599eef5a9485afc900b1ade03c9739fa24c360bbda
Remove containers ignoring errors if they don't exist :
$ podman rm --ignore mycontainer1 mycontainer2 nonexistent-container mycontainer1 mycontainer2
Exit Status
0 All specified containers removed
1 One of the specified containers did not exist, and no other failures
2 One of the specified containers is paused or running
125 The command fails for any other reason
See Also
History
August 2017, Originally compiled by Ryan Cole rycole@redhat.com ⟨mailto:rycole@redhat.com⟩
Referenced By
podman(1), podman-build(1), podman-container(1), podman-create(1), podman-logs(1), podman-remote(1), podman-run(1), podman-stop(1), toolbox-rm(1).
The man pages docker-container-rm(1), docker-rm(1) and podman-container-rm(1) are aliases of podman-rm(1).