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说明进行。

posted @   卓能文  阅读(815)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示