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 继承的卷,行为相同。