docker镜像自动更新及删除

最近常玩docker,更新docker latest镜像时,如果镜像较多,更新删除感觉有点麻烦,写代码如下:

#!/usr/bin/env -S v run

import os

fn split_lines(content string) [][]string {
	mut lines := [][]string{}
	for line in content.split('\n') {
		trimed_line := line.trim_space()
		if trimed_line.len > 0 {
			lines << trimed_line.fields()
		}
	}
	return lines
}

fn main() {
	println('dockerimagesupdate v0.0.1 by Zhuo Nengwen at 2021-12-07')
	images := os.execute_or_exit('sudo docker images')
	if images.exit_code == 0 {
		fields := split_lines(images.output)
		for item in fields {
			match item[1] {
				'<none>' {
					id := item[2]
					cmd := 'sudo docker image rm ${id} -f'
					println('\n${cmd}')
					os.system(cmd)
				}
				'latest' {
					name := item[0]
					cmd := 'sudo docker pull ${name}'
					println('\n${cmd}')
					os.system(cmd)
				}
				else {}
			}
		}
	}
}

代码需要用v编译,v的安装请按照官网vlang.io说明进行。

v -prod . -cc clang -cflags -static
posted @ 2021-12-07 19:58  卓能文  阅读(840)  评论(0)    收藏  举报