首页 运维 Docker 如何删除 Docker 映像、容器和卷

如何删除 Docker 映像、容器和卷

Jan 09, 2025 am 10:23 AM
docker docker 容器

码头工人 可以轻松地将应用程序和服务包装在容器中,以便 你可以在任何地方运行它们。然而,当您使用 Docker 时,它也 容易积累过多未使用的镜像、容器和 数据量会扰乱输出并消耗磁盘空间。

Docker 为您提供了清理系统所需的所有工具 命令行。这个备忘单式的指南提供了快速 参考对于释放磁盘空间和保留有用的命令 通过删除未使用的 Docker 镜像、容器和容器来组织您的系统

截屏2025-01-09 10.03.57.png

清除所有未使用或悬空的镜像、容器、卷和网络

Docker 提供了一个命令来清理所有资源 — 镜像、容器、卷和网络——悬空的(未标记或与容器):

docker system prune
登录后复制

要另外删除任何已停止的容器和所有未使用的图像(不仅仅是悬空图像),请将 -a 标志添加到命令:

docker system prune -a
登录后复制

删除 Docker 镜像

删除一个或多个特定镜像

使用带有 -a 标志的 docker images 命令来查找要删除的映像的 ID。这将显示 您的每个图像,包括中间图像层。当你已经 找到要删除的镜像,可以将其 ID 或标签传递给 docker rmi:

列表:

docker images -a
登录后复制
登录后复制

删除:

docker rmiImageImage
登录后复制

删除悬挂的 Docker镜像

Docker 镜像由多个层组成。悬挂的图像是层 与任何标记的图像没有关系。他们不再服务 目的并消耗磁盘空间。可以通过添加过滤器来定位它们 docker images 命令的标志 -f 的值为 dangling=true 。当您确定要删除它们时,可以使用 docker image prune 命令:

列表:

docker images -f dangling=true
登录后复制

删除:

docker image prune
登录后复制

根据a删除图像模式

您可以使用 docker 镜像和 grep 的组合来查找与某个模式匹配的所有镜像。一旦您满意,您可以使用 awk 将 ID 传递给 docker rmi 来删除它们。请注意,这些实用程序不是由 Docker 提供的,也不一定在所有系统上都可用:

列表:

docker images -a |  grep "pattern"
登录后复制

删除:

docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi
登录后复制

删除所有镜像

a 上的所有 Docker 镜像可以通过在 docker images 命令中添加 -a 来列出系统。一旦您确定要全部删除它们,您可以添加 -q 标志以将映像 ID 传递给 docker rmi:

List:

docker images -a
登录后复制
登录后复制

删除:

docker rmi $(docker images -a -q)
登录后复制

正在删除容器

删除一个或多个特定容器

使用带有 -a 标志的 docker ps 命令来查找要删除的容器的名称或 ID删除:

列表:

docker ps -a
登录后复制
登录后复制

删除:

docker rm ID_or_NameID_or_Name
登录后复制

退出时删除容器

如果您知道在创建容器时您不想保留它完成后,您可以运行 docker run --rm 以在退出时自动删除它:

运行并删除:

docker run --rm image_name
登录后复制

删除所有退出的容器

您可以使用 docker ps -a 定位容器并按状态过滤它们:已创建、正在重新启动、正在运行、已暂停或退出。要查看已退出容器的列表,请使用 -f 标志根据状态进行过滤。当您确认要删除这些容器后,请使用 -q 将 ID 传递给 docker rm 命令:

列表:

docker ps -a -f status=exited
登录后复制

删除:

docker rm $(docker ps -a -f status=exited -q)
登录后复制

删除使用多个容器filter

Docker 过滤器可以通过重复过滤器标志与 附加价值。这会产生满足以下任一条件的容器列表 健康)状况。例如,如果您想删除所有标记为 无论是创建(当您使用无效命令运行容器时可能导致的状态)还是退出,您都可以使用两个过滤器:

列表:

docker ps -a -f status=exited -f status=created
登录后复制

删除:

docker rm $(docker ps -a -f status=exited -f status=created -q)
登录后复制

根据模式

您可以使用 docker ps 和 grep 的组合来查找与模式匹配的所有容器。当您对要删除的列表感到满意时,可以使用 awk 和 xargs 向 docker rm 提供 ID。请注意,这些实用程序不是由 Docker 提供的,也不一定在所有系统上都可用:

列表:

docker ps -a |  grep "pattern”
登录后复制

删除:

docker ps -a | grep "pattern" | awk '{print }' | xargs docker rm
登录后复制

停止并移除所有容器

您可以查看使用 docker ps 系统上的容器。添加 -a 标志将显示所有容器。当您确定要删除它们时,可以添加 -q 标志以向 docker stop 和 docker rm 命令提供 ID:

List:

docker ps -a
登录后复制
登录后复制

删除:

docker stop $(docker ps -a -q)docker rm $(docker ps -a -q)
登录后复制

删除卷

删除一个或多个特定卷

使用 docker volume ls 命令找到要删除的一个或多个卷名称。然后,您可以使用 docker volume rm 命令删除一个或多个卷:

列表:

docker volume ls
登录后复制

删除:

docker volume rm volume_namevolume_name
登录后复制

删除悬空卷

从那时起卷的存在独立于容器, 当删除容器时,卷不会自动删除 同时。当卷存在并且不再连接到任何卷时 容器,称为悬空卷。  要找到它们以确认要删除它们,可以使用 docker volume ls 带有过滤器的命令将结果限制为悬空卷。什么时候 如果您对列表感到满意,可以使用 docker volume prune 删除它们:

列表:

docker volume ls -f dangling=true
登录后复制

删除:

docker volume prune
登录后复制

移除容器及其卷

如果创建未命名卷,则可以使用 -v 标志将其与容器同时删除。请注意,这仅适用于未命名的 卷。当容器被成功移除后,其ID为 显示。请注意,没有提及删除该卷。 如果未命名,则会默默地从系统中删除。如果是的话 命名后,它会默默地存在。

删除:

docker rm -v container_name
登录后复制

以上是如何删除 Docker 映像、容器和卷的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

docker怎么退出容器 docker怎么退出容器 Apr 15, 2025 pm 12:15 PM

退出 Docker 容器的四种方法:容器终端中使用 Ctrl D 快捷键容器终端中输入 exit 命令宿主机终端中使用 docker stop <container_name> 命令宿主机终端中使用 docker kill <container_name> 命令(强制退出)

docker容器名称怎么查 docker容器名称怎么查 Apr 15, 2025 pm 12:21 PM

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

docker内的文件怎么拷贝到外面 docker内的文件怎么拷贝到外面 Apr 15, 2025 pm 12:12 PM

Docker 中将文件拷贝到外部主机的方法:使用 docker cp 命令:执行 docker cp [选项] <容器路径> <主机路径>。使用数据卷:在主机上创建目录,在创建容器时使用 -v 参数挂载该目录到容器内,实现文件双向同步。

docker怎么重启 docker怎么重启 Apr 15, 2025 pm 12:06 PM

重启 Docker 容器的方法:获取容器 ID(docker ps);停止容器(docker stop <container_id>);启动容器(docker start <container_id>);验证重启成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(参考 Docker 文档)。

docker怎么启动mysql docker怎么启动mysql Apr 15, 2025 pm 12:09 PM

在 Docker 中启动 MySQL 的过程包含以下步骤:拉取 MySQL 镜像创建并启动容器,设置根用户密码并映射端口验证连接创建数据库和用户授予对数据库的所有权限

docker怎么更新镜像 docker怎么更新镜像 Apr 15, 2025 pm 12:03 PM

更新 Docker 镜像的步骤如下:拉取最新镜像标记新镜像为特定标签删除旧镜像(可选)重新启动容器(如果需要)

docker怎么启动容器 docker怎么启动容器 Apr 15, 2025 pm 12:27 PM

Docker 容器启动步骤:拉取容器镜像:运行 "docker pull [镜像名称]"。创建容器:使用 "docker create [选项] [镜像名称] [命令和参数]"。启动容器:执行 "docker start [容器名称或 ID]"。检查容器状态:通过 "docker ps" 验证容器是否正在运行。

docker怎么创建容器 docker怎么创建容器 Apr 15, 2025 pm 12:18 PM

在 Docker 中创建容器: 1. 拉取镜像: docker pull [镜像名] 2. 创建容器: docker run [选项] [镜像名] [命令] 3. 启动容器: docker start [容器名]

See all articles