docker container rm

描述移除一個或多個容器
用法docker container rm [OPTIONS] CONTAINER [CONTAINER...]
別名
docker container remove docker rm

描述

移除一個或多個容器

選項

選項預設值描述
-f, --force強制移除正在執行的容器(使用 SIGKILL)
-l, --link移除指定的連結
-v, --volumes移除與容器關聯的匿名卷

示例

移除一個容器

這將移除 /redis 連結下引用的容器。

$ docker rm /redis

/redis

這會移除預設橋接網路上 /webapp/redis 容器之間底層連結,從而移除兩個容器之間的所有網路通訊。當 --link 與使用者指定的網路一起使用時,此功能不適用。

$ docker rm --link /webapp/redis

/webapp/redis

強制移除正在執行的容器 (--force)

此命令強制移除正在執行的容器。

$ docker rm --force redis

redis

redis 連結下引用的容器內的主要程序將收到 SIGKILL,然後容器將被移除。

刪除所有已停止的容器

使用 docker container prune 命令移除所有已停止的容器,或者參考 docker system prune 命令移除未使用的容器以及其他 Docker 資源,例如(未使用的)映象和網路。

另外,您可以使用帶有 -q / --quiet 選項的 docker ps 來生成要移除的容器 ID 列表,並將該列表用作 docker rm 命令的引數。

組合命令可能更靈活,但可移植性較差,因為它依賴於 shell 提供的功能,並且確切的語法可能因所使用的 shell 而異。要在 Windows 上使用此方法,請考慮使用 PowerShell 或 Bash。

以下示例使用 docker ps -q 列印所有已退出容器的 ID (--filter status=exited),並使用 docker rm 命令移除這些容器

$ docker rm $(docker ps --filter status=exited -q)

或者,使用 xargs Linux 工具

$ docker ps --filter status=exited -q | xargs docker rm

移除容器及其卷 (-v, --volumes)

$ docker rm --volumes redis
redis

此命令移除容器及其關聯的任何卷。請注意,如果卷已指定名稱,則不會被移除。

移除容器並選擇性地移除卷

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

$ docker rm -v hello

在此示例中,/foo 的卷保持不變,而 /bar 的卷被移除。對於使用 --volumes-from 繼承的卷,行為相同。