logo NodeSeekbeta

[玩转Docker系列] 1.如何删除 Docker 镜像和容器?

Docker rmi

docker rmi 

通过镜像的 ID 删除镜像。

要删除镜像,首先需要列出所有镜像以获取镜像的 ID,镜像的名称和其他详细信息。

docker images -a 或者 docker images

之后,明确要删除哪个镜像,然后执行简单命令 docker rmi <your-image-id>。然后,列出所有镜像并检查,可以确认镜像是否已删除。

一次删除多张镜像

当你要一次删除多张镜像时,可以使用一种方法。首先只需列出镜像即可获取镜像的 ID,然后执行简单的命令:

docker rmi <your-image-id> <your-image-id> ...

列出镜像的 ID,每个 ID 之间留一个空格。

一次删除所有镜像

要删除所有镜像,有一个简单的命令可以做到:

docker rmi $(docker images -q)

在上面的命令中,有两个命令,第一个在 $() 中执行的命令是 shell 语法,返回以该执行的结果。然后,-q- 是一个选项,用于返回唯一的 ID。$() 返回镜像 ID 的结果,然后 docker rmi 删除所有这些镜像。

Docker rm

docker rm 根据容器的名称或者 ID 来删除容器。

!!!如果 Docker 容器正在运行,你在删除它们之前需要先停止运行。!!!

停止所有容器运行:docker stop $(docker ps -a -q)
删除所有停止运行的容器:docker rm $(docker ps -a -q)

删除多个容器

你可以通过向命令传递要删除的容器列表来停止和删除多个容器。shell 语法 $() 返回括号中执行的任何结果。因此,你可以在其中创建容器列表,以传递给 stop 和 rm 命令。

docker ps -a -q 分解

docker ps 列出容器。
-a 这个选项用于列出所有容器,包括停止运行的。如果没有这个选项,则默认只列出在运行的容器。
-q 这个选项列出容器的数字 ID,而不是容器的所有信息。
12
  • docker必备基础

  • 我记得有json格式的,那个比较高级,还有个prune命令删的很不错

  • @Javaow #1

    家中常备! xhj003

  • 镜像和容器,应该先删除哪个

  • @kikuri #4 先删除容器 在删除镜像

  • 不用的容器和镜像,我直接docker system prune --all xhj001

  • 技术贴,帮顶

  • docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

  • 嗯,其实可以直接使用这个命令,基本删除所有未使用的镜像:

    docker rmi `docker images -q -f dangling=true`
    
  • @lgq12697 #6 发布于2023/11/17 21:25:37
    不用的容器和镜像,我直接docker system prune --all xhj001

    @lgq12697 #6 我也用这个,这个删得彻底,匿名volume也给你删

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有15824位seeker

🎉欢迎新用户🎉