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
打印所有已退出(--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
继承的卷,也遵循相同的行为。