Docker rmi 无法删除图像

标签 docker

所以,我的主机上有一堆未标记的图像。我用

sudo docker rmi $(sudo docker images | grep "<none>" | awk '{print($3)}') 删除这些图像。在执行时,我得到错误

Error response from daemon: Conflict, cannot delete 31fa814ba25a because the container 70c20aa2c19f is using it, use -f to force

所以我做了一个

sudo docker rmi 70c20aa2c19f

我得到错误的地方

Error response from daemon: No such image: 70c20aa2c19f

那么,如果没有 ImageID 为 70c20aa2c19f 的图像,那么为什么初始删除命令的错误表明存在 ImageID 为 70c20aa2c19f 的图像?

最佳答案

正如您对问题的评论所表明的那样,您已经发现需要使用:

  • docker rmi 删除图片
  • docker rm 移除容器

更多背景知识:两者之间有区别:

  1. 一个 docker 图像,
  2. 基于该图像的运行容器和
  3. 基于该图像的已停止容器

停止的容器被保留,因为运行容器可能已经改变了容器中的文件系统,然后您可以提交这个停止的容器以获得新的图像。 (这是创建图像、手动运行命令并提交生成的容器的一种方式)。

使用 docker build 和 Dockerfile 创建镜像,做同样的事情,它运行容器执行 Dockerfile 命令并提交生成的镜像,只标记最后提交的镜像。

关于Docker rmi 无法删除图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047813/

相关文章:

Docker BaseX DBA

node.js - 如何使用 docker + Google Cloud Build 公开构建步骤结果

docker - 在 Google Cloud Build 上部署 Golang AppEngine 产生无限构建

mongodb - Docker mongo auth SCRAM-SHA-1

docker - NFS 或使用 docker 安装共享

postgresql - createuser : error: could not connect to database postgres, - Docker AWS

python - Docker Compose Up 给出 "The system cannot find the file specified."错误

Docker compose 端口映射,主机端口 != 容器端口

api - 在ASP Net Core API中使用NLog进行Elasticsearch日志记录失败

linux - 在 CentOS 上从 .tar.gz 文件批量安装 RPM 包