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
删除默认桥接网络上使用 --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 资源(例如(未使用的)镜像和网络)之外未使用的容器。
或者,您可以使用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)
或者,使用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
。