删除 Docker 中的本地镜像
本文将介绍在 Docker 中删除本地镜像的方法。
删除 Docker 中未使用和悬空的本地映像
假设除了有未标记的 docker 镜像之外,你还有未使用的镜像和一些你还想删除的容器。在这种情况下,请选择下面显示的命令。
$ docker system prune -a
此命令将提示警告,让你知道如果你选择是,此命令将:
- 删除所有停止的容器;
- 删除至少一个容器未使用的所有网络;
- 删除所有没有至少一个与之关联的容器的镜像;
- 删除所有缓存。
但是,如果此命令不符合你需要完成的内容,并且你只想删除:
- 未标记或悬空的镜像;
- 停止的容器;
- 悬空缓存;
- 网络未被至少一个容器使用。
在这种情况下,使用 prune
命令而不包括 -a
标签,如下所示。
$ docker system prune
删除 Docker 中的特定本地映像
我们可能还想从本地系统中删除特定镜像,并保持所有其他文件不变。
在这种情况下,我们需要一个我们想要删除的特定镜像的镜像 ID。我们可以通过 Docker 桌面应用程序中的镜像页面访问它。
我们还可以通过运行以下命令,使用我们的终端或 Docker CLI 访问映像 ID。
isaactonyloi@DESKTOP-HV44HT6:~$ docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c316d5a335a5 3 weeks ago 142MB
现在我们已经获得了镜像 ID,我们可以使用 docker rmi
命令附加到镜像 ID 中删除该特定镜像,如下所示。
$ docker rmi c316d5a335a5
输出:
Untagged: nginx:latest
Untagged: nginx@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Deleted: sha256:c316d5a335a5cf324b0dc83b3da82d7608724769f6454f6d9a621f3ec2534a5a
Deleted: sha256:67e568696593c33b4a15c9d81dc6f67499b8d973b88eb49b53d47bf4dbf4d187
Deleted: sha256:0f8d4e3d979c540644f248b4206cf540978166b095223bdc950628dca2e8f3f1
Deleted: sha256:5d75bfe8a7422476a495b27c8a1598d1206137631d350b8bdee13bc88f365282
Deleted: sha256:8284a9e28c625b2826efdd6160ea1ff7f710881a4a2afe1ef58a5eb51d3f919e
Deleted: sha256:89a1db9e1079b7574c1a707bc8c1fe04ff723bc71d4bca8bc48653e9a32186d2
Deleted: sha256:7d0ebbe3f5d26c1b5ec4d5dbb6fe3205d7061f9735080b0162d550530328abd6
使用 Docker 中的过滤器删除未标记的本地镜像
我们还可以使用过滤器和通配符来识别悬空镜像,即不与任何容器关联的镜像。我们可以使用过滤标签 -f
找到满足条件 dangling=true
的图片。
下面的命令应该列出与任何容器无关的所有镜像。但是,请注意,如果你的系统中没有未标记的镜像,则该命令将仅返回标头。
$ docker images -a -f dangling=true
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c316d5a335a5 3 weeks ago 142MB
删除 Docker 中的所有本地镜像
当与 -a
标签一起使用时,-q
标签允许我们检索并列出本地系统中的所有镜像 ID。
$ docker images -a -q
54c9d81cbb44
c316d5a335a5
使用此命令,我们可以列出 docker rmi
下的所有镜像,以从我们的系统中删除所有镜像。这是我们如何嵌套该命令以消除所有镜像。
$ docker rmi $(docker images -a -q)
输出:
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db83444636c300170cfd211e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f688797f2f1e3af224c29593310578d2
相关文章
在 Linux 中托管 Docker Internal
发布时间:2023/04/18 浏览次数:139 分类:Docker
-
Docker 允许开发人员通过将应用程序包装在称为容器的标准化单元中来高效地构建、测试和部署应用程序。 在使用 Docker 容器时,您可能会遇到需要将容器与主机连接的场景。
在 Docker 中设置工作目录
发布时间:2023/04/18 浏览次数:82 分类:Docker
-
在 Docker 中,我们可以通过编辑 Dockerfile 并添加密钥 WORKDIR 来设置我们的工作目录。本文将讨论在 Docker 中更改我们当前和默认的工作目录。
在 Docker 容器中公开多个端口
发布时间:2023/04/18 浏览次数:143 分类:Docker
-
Docker 容器使用端口来实现万维网上不同设备之间的通信。 在本篇文章中,我们将学习如何使用 Nginx 应用程序在 Docker 容器中公开多个端口。
将用户添加到 Docker 容器
发布时间:2023/04/18 浏览次数:187 分类:Docker
-
在本文中,我们将学习如何通过实现返回产品数组的 Express 应用程序将用户添加到 Docker 容器。
使用 Docker 网络主机命令
发布时间:2023/04/18 浏览次数:112 分类:Docker
-
在本文中,我们将学习如何使用 --network 命令将容器添加到主机网络。 如果我们不使用此命令指定网络,我们还将了解如何将容器添加到默认网络。
清除 Docker 容器日志
发布时间:2023/04/18 浏览次数:181 分类:Docker
-
本文介绍了我们可以用来清除 docker 容器中日志的不同方法。日志是应用程序在特定事件或状态发生时记录的信息,它们帮助我们监控应用程序并采取必要的措施。
Dockerfile 中 COPY 和 ADD 命令的区别
发布时间:2023/04/18 浏览次数:158 分类:Docker
-
在 Dockerfile 中,我们可以使用 COPY 或 ADD 命令复制这些文件。 这些命令在功能上是相同的; 但是,存在一些差异。本文介绍了 Dockerfile 中 COPY 和 ADD 命令之间的区别。