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打印所有已退出(--filter status=exited)的容器的ID,并使用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继承的卷,也遵循相同的行为。