golang版本的代码如下 func ImageFullNameToScriptGzipName(imageName string) (scriptGzipName string) { // harbor.cdcyy.cn/cmii/cmii-uav-platform:6.2.0-gz-121101-arm ==> cmii-uav-user=6.2.0-gz-121101-arm=2025-12-11=968.tar.gz // nginx:latest ==> nginx=latest=2025-12-11=968.tar.gz // bitnami/minio:2022.5.4 ==> minio=2022.5.4=2025-12-11=968.tar.gz // simonrupf/chronyd:0.4.3 ==> chronyd=0.4.3=2025-12-11=968.tar.gz // ossrs/srs:v5.0.1 ==> srs=v5.0.1=2025-12-11=968.tar.gz // rancher/fleet:v0.3.4 ==> fleet=v0.3.4=2025-12-11=968.tar.gz // 提取镜像名(去除仓库路径) var shortName string if strings.Contains(imageName, "/") { parts := strings.Split(imageName, "/") shortName = parts[len(parts)-1] // 获取最后一个部分 } else { shortName = imageName } // 分离镜像名和标签 var name, tag string if strings.Contains(shortName, ":") { parts := strings.Split(shortName, ":") name = parts[0] tag = parts[1] } else { name = shortName tag = "latest" } // 获取当前日期 (YYYY-MM-DD) currentDate := time.Now().Format("2006-01-02") // 生成 100-999 的随机数 randomNum := 100 + rand.Intn(900) // rand.Intn(900) 生成 0-899,加100得到 100-999 // 组合成最终格式: name=tag=date=random.tar.gz scriptGzipName = fmt.Sprintf("%s=%s=%s=%d", name, tag, currentDate, randomNum) return scriptGzipName } linux脚本下面的旧的函数如下 get_image_tar_name() { # harbor.cdcyy.com.cn/cmii/cmii-uav-oauth:4.1.6 ImageName=$(echo $UploadImageName | cut -d ":" -f1 | cut -d"/" -f3) ImageTag=$(echo $UploadImageName | cut -d ":" -f2) local currentDate=$(date +'%Y-%m-%d') local random_number=$((RANDOM % 900 + 100)) ImageTarName="$ImageName=$ImageTag=$currentDate=$random_number.tar.gz" } 请修改上面的内容,golang和shell脚本都需要更新,效果应该是统一的 最终镜像的格式应该为 1. harbor.cdcyy.com.cn/cmii/cmii-uav-oauth:4.1.6 => cmii=cmii-uav-oauth=4.1.6=<实际镜像的arch>=YYYY-MM-DD=XXX.tar.gz 2. nginx:latest ==> docker=nginx=latest=<实际镜像的arch>=2025-12-11=968.tar.gz 3. bitnami/minio:2022.5.4 ==> bitnami=minio=2022.5.4=<实际镜像的arch>=2025-12-11=968.tar.gz 4. simonrupf/chronyd:0.4.3 ==> simonrupf=chronyd=0.4.3=<实际镜像的arch>=2025-12-11=968.tar.gz 5. rancher/fleet:v0.3.4 ==> rancher=fleet=<实际镜像的arch>==v0.3.4=2025-12-11=968.tar.gz <实际镜像的arch>需要查看镜像的详细信息(docker inspect命令类似)获取