最近常玩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说明进行。