- 1.若执行docker rmi image_id 失败,报image has dependent child 错误
Error response from daemon: conflict: unable to delete 6ec9a5a0fc9f (cannot be forced) - image has dependent child images
其原因是删除的image被其他镜像引用,可以想下这个image有没有作为基础镜像重新生成了新的镜像。若存在则需要先删除生成的新镜像。
- 2.若执行docker rmi image_id 失败,报image is referenced in multiple repositories
Error response from daemon: conflict: unable to delete f8ab12e03d53 (must be forced) - image is referenced in multiple repositories
其原因是删除的image_id指向了多个镜像。这里可以通过repository和tag的方式删除
docker rmi repository:tag
若镜像存在none,且同一个镜像id指向了2个none,通过上面的方式也无法删除。可以先对none的镜像打个tag,然后再通过repository和tag的方式删除打出来的新tag镜像,然后再用docker rmi image_id删除。
docker tag image_id xx:test
docker rmi xx:test
docker rmi image_id
- 3.若删除镜像报image is being used by stopped container
其原因是该镜像已被一个container使用,通过以下命令来删除
docker ps -a | grep "image_id" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "image_id" | awk '{print $1 }'|xargs docker rm
docker rmi image_id