场景:
有时候重新构建镜像的时候,该镜像正在被某容器使用中,那么在重新构建同名同版本镜像后,docker保留原来的镜像,即容器还是用原来的,除非重启。
那么原来的镜像名称变成NONE,TAG也成了NONE。
- docker images
在docker中执行上述命令,会看到一些镜像:
然后列出所有的容器 ID:
- docker ps -a -q
删除前应该停止所有的容器:
- docker stop $(docker ps -a -q)
批量删除tag为"<none>"镜像可以采用如下方法(下面两种方式均可以):
- docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
- docker images | grep none | awk '{print $3}' | xargs docker rmi
注:
删除所有停止的容器:
- docker rm $(docker ps -a -q)
删除所有的镜像:
- docker rmi $(docker images -q)