docker是一个很好用的工具,但是有时候会反复创建镜像,造成了大量的无用镜像,像这样的:
里面有大量的版本为的镜像,碰到这种情况想清理,当然可以用原始的命令:
docker rmi xxxxxxxx(镜像id)
但是长时间积攒下来很多的话,手工删除很麻烦
所以我特意写了个脚本
#!/usr/bin/python
# ----------------------------------------
# mul_publish
# File util.py
# Date 2019-03-29
# Author Edward Shine
# E-mail hopshine@163.com
# ----------------------------------------
import os
def clean_image():
p = os.popen('docker images')
x = p.read()
items = x.split("\n")
for item in items:
segments = item.split(" ")
line = []
for segment in segments:
if segment == "":
continue
line.append(segment)
print line
if len(line) == 0:
continue
if line[1] == "<none>":
print "clean image: " + line[2]
os.system("docker rmi " + line[2])
print "clean none version images finished."
if __name__ == "__main__":
clean_image()
这段脚本使用方法很简单,可以直接保存在一个python文件里面,比如命名为cleandi.py,然后运行:
python cleandi.py
就可以
当然,更好的用法是直接命名为cleandi,无后缀,然后赋予执行权限:
chmod 777 cleandi
然后将这个命令放在/bin或者/usr/bin下,或者任意一个目录下,导入到PATH变量中就行,每次需要清理的时候运行
cleandi
就可以了