当前位置: 首页 > 知识库问答 >
问题:

不能删除Docker映像,“没有这样的映像”

艾正浩
2023-03-14

好吧,我是Docker的新手,正在做一些教程,我想删除nginxmongo图像:

$ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
nginx                latest              be1f31be9a87        12 days ago         109MB
mongo                3.4                 598e8cf490a6        12 days ago         361MB

所以我从nginx开始:

$ docker image rm nginx
Untagged: nginx:latest
Untagged: nginx@sha256:9ad0746d8f2ea6df3a17ba89eca40b48c47066dfab55a75e08e2b70fc80d929e
Deleted: sha256:be1f31be9a87cc4b8668e6f0fee4efd2b43e5d4f7734c75ac49432175aaa6ef9
Deleted: sha256:7609c40a03b852382a43d79231d9d4ca7661cd1ac9edcb46f78a44fff4ed59ca
Deleted: sha256:a2b6968c4326640dd5e9e22ddf6cebb61ba1a4b79a4ac8d194f93000c5a4c3e2
Deleted: sha256:8b15606a9e3e430cb7ba739fde2fbb3734a19f8a59a825ffa877f9be49059817
$ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mongo                3.4                 598e8cf490a6        12 days ago         361MB
$ docker image rm mongo
Error: No such image: mongo

为什么这不起作用?

最后我发现Docker image rm 598E8CF490A6确实删除了Mongo图像,但我仍然不明白为什么这不起作用。

  • 第一列存储是什么?这是映像名称,还是其他名称?
  • 如果是映像名称,那么为什么不能使用Docker image rm Mongo删除Mongo映像?
  • 如果不是映像名称,则
    1. 是什么?
    2. 为什么Docker image ls显示它而不是图像名称?
    3. 如何获取实际的映像名称?具体是什么?我还尝试了Docker image rm mongoDBDocker image rm mongo-db但未成功。

共有1个答案

浦思源
2023-03-14

如以下thread-https://stackoverflow.com/a/23736802/10488199所述

图像的实例称为容器。您有一个图像,它是您描述的一组层。如果启动这个映像,那么就有了这个映像的一个正在运行的容器。您可以有许多相同映像的运行容器。您可以使用docker图像看到您的所有图像,而您可以使用docker ps看到您正在运行的容器(您可以使用docker PS-A看到所有容器)。因此映像的运行实例是一个容器。

查看正在运行的容器实例列表

查看所有容器实例的列表

use->$docker ps-a

若要查看,请查看拉出的图像列表

使用->$docker图像

删除容器实例(如果容器正在运行)

use->$docker kill use->$docker rm

或强制其停止并将其移除

use->$docker rm-f

删除容器实例(如果容器未运行)

使用->$docker rm

使用->$docker rmi

use->$docker image rm

使用->$docker images rm mongo:3.4

 类似资料:
  • 在这里,您可以看到我已经尝试删除。但是,docker坚持认为我正在尝试删除,结果错误了,因为这样的映像不存在。 是什么原因造成的?

  • 问题内容: 设置新的构建机器(CentOS 7,Docker CE 17.12.0-ce)时,我做了一个简单的测试: 效果很好,但是现在我无法删除Ubuntu映像。 任何容器都没有使用它(总之那不是错误): 我什至尝试了nuke-from-orbit方法: 并重新启动docker守护进程: 是什么赋予了?ubuntu映像是否存在并不重要,我只是不明白为什么我无法清理它。 更新资料 我尝试再次拉出图

  • 问题内容: 我有以下图像: 当我尝试删除其中之一时,我得到: 如何删除它们?为什么会有这样的冲突? 问题答案: 为了删除所有图像,请使用给定命令 为了删除所有容器,请使用给定命令 警告:这将破坏您的所有图像和容器。 将无法还原它们! 该解决方案由Techoverflow.net提供。

  • 问题内容: 我最近开始使用Docker,但从未意识到我应该使用代替或摆脱我的实验。我现在在本地有大量不需要的docker映像。 我是否可以运行一个标志来删除所有本地docker映像和容器? 像--all标志这样的东西并不存在,但是我正在寻找具有类似想法的东西。 问题答案: 要删除所有容器(包括其卷), 要删除所有图像, 请记住,您应先删除所有容器,然后再删除创建这些容器所用的所有图像。 如果您使用

  • 我最近开始使用Docker,但从未意识到我应该使用而不是或来摆脱我的实验。我现在在本地有大量不需要的docker映像。 是否有一个标志我可以运行删除所有本地docker映像和容器? 类似--allFlag的东西不存在,但我正在寻找类似的东西。

  • 在这里,您可以看到我尝试删除。但是,docker坚持认为我正在尝试删除,并且由于这样的图像不存在而出错。 什么可能导致这一切?