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
移除預設橋接網路上使用 --link
指定的連結 (--link)
這會移除預設橋接網路上 /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
繼承的卷,行為相同。