docker无用镜像清理脚本

docker是一个很好用的工具,但是有时候会反复创建镜像,造成了大量的无用镜像,像这样的:
在这里插入图片描述
里面有大量的版本为的镜像,碰到这种情况想清理,当然可以用原始的命令:

docker rmi xxxxxxxx(镜像id)

但是长时间积攒下来很多的话,手工删除很麻烦

所以我特意写了个脚本

#!/usr/bin/python

# ----------------------------------------
#       mul_publish
# File      util.py
# Date      2019-03-29
# Author    Edward Shine
# E-mail    [email protected]
# ----------------------------------------

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] == "":
            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

就可以了

你可能感兴趣的:(python,docker)