Docker删除none镜像
起因
最近发现Docker的相同容器多了几个,这样就会多出好多无用的镜像,所以需要删除,查了下none镜像产生的原因:
有时候重新构建镜像的时候,该镜像正在被某容器使用中,那么在重新构建同名同版本镜像后,docker保留原来的镜像,即容器还是用原来的,除非重启。
那么原来的镜像名称变成NONE,TAG也成了NONE
看到这里就想到应该是之前的定时脚本引起的,,,
解决
命令:
列出所有的镜像
1
>docker images -a
列出所有的容器
1
>docker ps -a
列出所有的容器 ID
1 >docker ps -a -q
- 停止所有的容器
1 >docker stop $(docker ps -a -q)
- 批量删除tag为”
“镜像
1 >docker rmi $(docker images | grep "<none>" | awk "{print $3}")PS:说明
docker images | grep "<none>"
查询所有为<none>
的镜像awk "{print $3}"
输出第三列
- 删除所有停止的容器
1 docker rm $(docker ps -a -q)
- 查询所有的镜像的
IMAGE ID
:
1 docker images -q
- 删除所有的镜像:
1 docker rmi $(docker images -q)
结束
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 少言少语!
评论