docker container rm
内容説明 | 1 つまたは複数コンテナーを削除します。 |
---|---|
利用方法 | docker container rm [OPTIONS] CONTAINER [CONTAINER...] |
エイリアス | docker container remove
docker rm |
内容説明
1 つまたは複数コンテナーを削除します。
オプション
オプション | デフォルト | 内容説明 |
---|---|---|
-f, --force | 実行中コンテナーを強制的に削除します。(SIGKILL を利用) | |
-l, --link | 指定されたリンクを削除します。 | |
-v, --volumes | コンテナーに関連づいた匿名ボリュームを削除します。 |
利用例
コンテナーの削除
以下では、リンク /redis
のもとに参照されているコンテナーを削除します。
$ docker rm /redis
/redis
Remove a link specified with --link
on the default bridge network (--link)
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
/webapp/redis
Force-remove a running container (--force)
This command force-removes a running container.
$ docker rm --force redis
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
Use the
docker container prune
command to remove all
stopped containers, or refer to the
docker system prune
command to remove unused containers in addition to other Docker resources, such
as (unused) images and networks.
Alternatively, you can use the docker ps
with the -q
/ --quiet
option to
generate a list of container IDs to remove, and use that list as argument for
the docker rm
command.
Combining commands can be more flexible, but is less portable as it depends on features provided by the shell, and the exact syntax may differ depending on what shell is used. To use this approach on Windows, consider using PowerShell or Bash.
The example below uses docker ps -q
to print the IDs of all containers that
have exited (--filter status=exited
), and removes those containers with
the docker rm
command:
$ docker rm $(docker ps --filter status=exited -q)
Or, using the xargs
Linux utility:
$ docker ps --filter status=exited -q | xargs docker rm
Remove a container and its volumes (-v, --volumes)
$ docker rm --volumes redis
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
hello
$ 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
.