docker container rm
說明 | 移除一個或多個容器 |
---|---|
用法 | docker container rm [選項] 容器 [容器...] |
別名 | docker container remove docker rm |
說明
移除一個或多個容器
選項
選項 | 預設值 | 說明 |
---|---|---|
-f, --force | 強制移除正在執行的容器(使用 SIGKILL) | |
-l, --link | 移除指定的連結 | |
-v, --volumes | 移除與容器關聯的匿名 Volume |
範例
移除容器
這會移除連結 `/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)
或者,使用 Linux 工具程式 `xargs`
$ docker ps --filter status=exited -q | xargs docker rm
移除容器及其 Volume (-v, --volumes)
$ docker rm --volumes redis
redis
此指令會移除容器及其關聯的所有 Volume。請注意,如果 Volume 是使用名稱指定的,則不會將其移除。
移除容器並選擇性地移除 Volume
$ docker create -v awesome:/foo -v /bar --name hello redis
hello
$ docker rm -v hello
在此範例中,/foo
的磁碟區保持不變,但 /bar
的磁碟區會被移除。使用 --volumes-from
繼承的磁碟區也會有相同的行為。