Docker rmi无法删除图像

amr*_*mrx 6 docker

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

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

来自守护进程的错误响应:冲突,无法删除31fa814ba25a,因为容器70c20aa2c19f正在使用它,使用-f强制

所以我做了

sudo docker rmi 70c20aa2c19f
Run Code Online (Sandbox Code Playgroud)

我得到了错误

来自守护程序的错误响应:没有这样的图像:70c20aa2c19f

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

Vin*_*met 6

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

  • docker rmi 删除图像
  • docker rm 删除容器

更多背景:有以下区别:

  1. 码头图片,
  2. 基于该图像的运行容器
  3. 基于该图像的停止容器

保留已停止的容器,因为运行容器可能已更改容器中的文件系统,然后您可以提交此已停止的容器以获取新映像.(这是创建图像的一种方法,手动运行命令并提交生成的容器).

使用docker build和Dockerfile创建图像也是一样的,它运行容器执行Dockerfile命令并提交生成的图像,只标记最后提交的图像.