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` 继承的卷也具有相同的行为。