Docker image can't be deleted, “no such image”
好吧,我是Docker的新成员,正在做一些教程,我想删除
1 2 3 4 | $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest be1f31be9a87 12 days ago 109MB mongo 3.4 598e8cf490a6 12 days ago 361MB |
所以我从
1 2 3 4 5 6 7 | $ docker image rm nginx Untagged: nginx:latest Untagged: nginx@sha256:9ad0746d8f2ea6df3a17ba89eca40b48c47066dfab55a75e08e2b70fc80d929e Deleted: sha256:be1f31be9a87cc4b8668e6f0fee4efd2b43e5d4f7734c75ac49432175aaa6ef9 Deleted: sha256:7609c40a03b852382a43d79231d9d4ca7661cd1ac9edcb46f78a44fff4ed59ca Deleted: sha256:a2b6968c4326640dd5e9e22ddf6cebb61ba1a4b79a4ac8d194f93000c5a4c3e2 Deleted: sha256:8b15606a9e3e430cb7ba739fde2fbb3734a19f8a59a825ffa877f9be49059817 |
它消失了吗?
1 2 3 | $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE mongo 3.4 598e8cf490a6 12 days ago 361MB |
到现在为止,一直都还不错。现在,对于
1 2 | $ docker image rm mongo Error: No such image: mongo |
为什么这个不起作用?
最后,我发现
- 第一列是什么,
REPOSITORY ?这是图像名还是其他什么? - 如果是图像名,那么为什么我不能用
docker image rm mongo 删除mongo 图像? - 如果不是图像名,那么
- 这是怎么一回事?
- 为什么
docker image ls 显示它而不是图像名? - 如何获取实际的图像名称?具体来说是什么?我也尝试过
docker image rm mongodb 和docker image rm mongo-db ,但没有成功。
As explained in the following thread -
https://stackoverflow.com/a/23736802/10488199
图像的实例称为容器。您有一个图像,它是您描述的一组层。如果启动此映像,则会有此映像的运行容器。可以有多个运行中的同一图像的容器。你可以用Docker图像看到你的所有图像,而你可以用Docker PS看到你正在运行的容器(你可以看到所有带有Docker PS-A的容器)。所以图像的运行实例是一个容器。
查看正在运行的容器实例列表
使用->
查看所有容器实例的列表
使用->
要查看,拉取的图像列表
使用->
删除容器实例(如果容器正在运行)
使用->
或者强迫它停下来
使用->
删除容器实例(如果容器未运行)
使用->
删除图像
使用->
或
使用->
注意:如果要删除的存储库具有最新的标记,则无需提及它。如果有标签,应该提到。
以你为例
使用->
Docker中图像的"名称"是存储库和ID的组合-这是
您也可以在Docker Hub上找到存储库名称,例如:https://hub.docker.com//uu/mongoog/
如果只提供存储库的名称-在本例中为"Mongo",Docker假定您要删除标记为"最新"的图像。现在,因为在您的示例中只有一个标记为"mongo:3.4"的图像,但没有一个标记为"mongo:latest"的图像,所以这不起作用。
您可以通过添加
有关更多信息和示例,请参见官方文档:https://docs.docker.com/engine/reference/commandline/rmi/parent command