docker 容器 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 资源(例如(未使用的)镜像和网络)之外未使用的容器。

或者,您可以使用docker ps-q/--quiet选项来生成要删除的容器 ID 列表,并使用该列表作为命令的参数docker rm

组合命令可以更灵活,但可移植性较差,因为它取决于 shell 提供的功能,并且确切的语法可能会根据使用的 shell 的不同而有所不同。要在 Windows 上使用此方法,请考虑使用 PowerShell 或 Bash。

下面的示例用于docker ps -q打印所有已退出 ( --filter status=exited) 的容器的 ID,并使用以下命令删除这些容器docker rm

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

或者,使用xargsLinux 实用程序:

$ 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