好的,所以我是 Docker 的新手并且正在做一些教程,我想删除nginx和mongo图像:
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest be1f31be9a87 12 days ago 109MB
mongo 3.4 598e8cf490a6 12 days ago 361MB
Run Code Online (Sandbox Code Playgroud)
所以我开始nginx:
$ docker image rm nginx
Untagged: nginx:latest
Untagged: nginx@sha256:9ad0746d8f2ea6df3a17ba89eca40b48c47066dfab55a75e08e2b70fc80d929e
Deleted: sha256:be1f31be9a87cc4b8668e6f0fee4efd2b43e5d4f7734c75ac49432175aaa6ef9
Deleted: sha256:7609c40a03b852382a43d79231d9d4ca7661cd1ac9edcb46f78a44fff4ed59ca
Deleted: sha256:a2b6968c4326640dd5e9e22ddf6cebb61ba1a4b79a4ac8d194f93000c5a4c3e2
Deleted: sha256:8b15606a9e3e430cb7ba739fde2fbb3734a19f8a59a825ffa877f9be49059817
Run Code Online (Sandbox Code Playgroud)
过去了吗?
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo 3.4 598e8cf490a6 12 days ago 361MB
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好。现在为mongo:
$ docker image rm mongo
Error: No such image: mongo
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
最后我发现docker image rm 598e8cf490a6确实删除了mongo图像,但我仍然不明白为什么这不起作用。
REPOSITORY?这是图像名称,还是其他什么?mongo使用删除图像docker image rm mongo?docker image ls显示它而不是图像名称?docker image rm mongodb和docker image rm mongo-db没有成功。如以下线程中所述 - /sf/answers/1661576171/
图像的实例称为容器。您有一个图像,它是您描述的一组图层。如果你启动这个镜像,你就有了一个运行这个镜像的容器。您可以拥有多个运行相同映像的容器。您可以使用 docker 图像查看所有图像,而使用 docker ps 可以查看正在运行的容器(您可以使用 docker ps -a 查看所有容器)。所以一个正在运行的镜像实例就是一个容器。
查看正在运行的容器实例列表
使用 -> $ docker ps
查看所有容器实例的列表
使用 -> $ docker ps -a
查看,拉取的图片列表
使用 -> $ docker images
删除容器实例(如果容器正在运行)
使用 ->$ docker kill <container id/container name>
使用 ->$ docker rm <container id/container name>
或强迫它停止并通过
使用 -> $ docker rm -f <container id/container name>
删除容器实例(如果容器未运行)
使用 -> $ docker rm <container id/container name>
删除图像
使用 -> $ docker rmi <REPOSITORY:tag/IMAGEID>
或者
使用 -> $ docker image rm <REPOSITORY:tag/IMAGEID>
注意:如果被移除的 REPOSITORY 有最新的标签,则无需提及。如果有标签,应该被提及。
在你的情况下
使用 -> $ docker images rm mongo:3.4
docker 中镜像的“名称”是存储库和 ID 的组合 - 这就是docker image ls.
您还可以在 docker hub 上找到存储库名称,例如: https: //hub.docker.com/_/mongo/
如果您仅提供存储库的名称 - 在本例中为“mongo”,docker 会假设您想要删除该存储库标记为“最新”的映像。现在,由于在您的示例中只有一张标记为“mongo:3.4”的图像,但没有名为“mongo:latest”的图像,因此这是行不通的。
-f您可以通过添加标志(例如 )来强制从一个存储库中删除所有图像docker rmi -f mongo。
有关更多信息和示例,请参阅官方文档:https://docs.docker.com/engine/reference/commandline/rmi/#parent-command
| 归档时间: |
|
| 查看次数: |
6063 次 |
| 最近记录: |