Docker清理none镜像和Exited容器
2019-09-30 本文已影响0人
爱学习的蹭蹭
1、虚悬镜像与Exited退出状态容器
- 1、Exited表示退出的容器,一般情况在运行容器的时候不设定 -- restart=always 参数,然后操作系统关机或者重启,而Docker服务已经重启,而对应的容器并没跟着重启导致,或者说本身容器没有启动成功.
- 2、虚悬镜像:在docker编译不成功会或者是新版本覆盖旧版本归类为虚悬镜像,生成这个个镜像既没有仓库名,也没有标签,均为一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,释放磁盘空间,可以用下面的命令删除。
2、停止所有容器
- 通过grep管道过滤包含Exited的关键字,然后通过awk管道打印$1(shell的位置变量,以空格隔开)第一个参数处理,指定xargs参数进行停掉容器
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
3、删除所有停止的容器
- 通过grep管道过滤包含Exited的关键字,然后通过awk管道打印$1(shell的位置变量,以空格隔开)第一个参数处理,指定xargs参数进行删除容器
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
4、删除所有tag标签是none的镜像
- 通过grep管道过滤none,使用awk文本打印$3(位置变量)第三个参数,然后通过docker rmi进行删除
docker images|grep none|awk '{print $3 }'|xargs docker rmi
5、可以编辑 ~/.zshrc (或~/.bashrc) 指定指令别名
alias dnone="docker images|grep none|awk '{print $3}'|xargs docker rmi"
source ~/.zshrc