优化镜像同步的内容

This commit is contained in:
zeaslity
2026-01-19 10:11:16 +08:00
parent 1d42f28c7e
commit 739cbca267
37 changed files with 11544 additions and 137 deletions

View File

@@ -13,7 +13,6 @@ import (
"regexp"
"strconv"
"strings"
"time"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
@@ -265,17 +264,22 @@ func TagFromListAndPushToCHarbor(referenceImageList []string, targetHarborHost s
return errorPushImageNameList
}
func PullFromCmiiHarbor(imageName string) (pullResult io.ReadCloser) {
pullResult, err := apiClient.ImagePull(context.TODO(), imageName, types.ImagePullOptions{
All: false,
RegistryAuth: "eyAidXNlcm5hbWUiOiAicmFkMDJfZHJvbmUiLCAicGFzc3dvcmQiOiAiRHJvbmVAMTIzNCIsICJlbWFpbCI6ICJpY2VAcXEuY29tIiB9Cg==",
PrivilegeFunc: func() (string, error) {
return "authorization: Basic cmFkMDJfZHJvbmU6RHJvbmVAMTIzNA==", nil
},
Platform: "amd64",
})
func PullFromDockerHub(imageName string) (pullResult io.ReadCloser) {
var imagePullOptions types.ImagePullOptions
if strings.HasPrefix(imageName, image2.CmiiHarborPrefix) {
imagePullOptions = types.ImagePullOptions{
All: false,
RegistryAuth: "eyAidXNlcm5hbWUiOiAicmFkMDJfZHJvbmUiLCAicGFzc3dvcmQiOiAiRHJvbmVAMTIzNCIsICJlbWFpbCI6ICJpY2VAcXEuY29tIiB9Cg==",
PrivilegeFunc: func() (string, error) {
return "authorization: Basic cmFkMDJfZHJvbmU6RHJvbmVAMTIzNA==", nil
},
}
}
pullResult, err := apiClient.ImagePull(context.TODO(), imageName, imagePullOptions)
if err != nil {
log.ErrorF("[ImagePullFromCmiiHarbor]- image pull of %s ,error => %s", imageName, err.Error())
log.ErrorF("[PullFromDockerHub]- image pull of %s ,error => %s", imageName, err.Error())
return nil
}
@@ -305,7 +309,7 @@ func PullCmiiFromFileJson(filePathName string) {
}
for image, tag := range resultMap {
pullResult := PullFromCmiiHarbor(image + ":" + tag)
pullResult := PullFromDockerHub(image + ":" + tag)
if pullResult == nil {
continue
}
@@ -327,19 +331,19 @@ func PullCmiiFromFileJson(filePathName string) {
// PullFromFullNameList 根据镜像名列表拉取全部的镜像
func PullFromFullNameList(fullImageNameList []string) (errorPullImageList []string) {
start := time.Now()
//start := time.Now()
for _, fullImageName := range fullImageNameList {
if !strings.HasPrefix(fullImageName, "harbor.cdcyy.com.cn") {
since := time.Since(start)
if since < 60*time.Second {
duration := 60*time.Second - since
log.DebugF("PullFromFullNameList - wait for %s !", duration.String())
time.Sleep(duration)
start = time.Now()
}
}
//if !strings.HasPrefix(fullImageName, "harbor.cdcyy.com.cn") {
// since := time.Since(start)
// if since < 90*time.Second {
// duration := 90*time.Second - since
// log.DebugF("PullFromFullNameList - wait for %s !", duration.String())
// time.Sleep(duration)
// start = time.Now()
// }
//}
log.DebugF("start to pull => [%s]", fullImageName)
pullResult := PullFromCmiiHarbor(fullImageName)
pullResult := PullFromDockerHub(fullImageName)
if pullResult == nil {
errorPullImageList = append(errorPullImageList, fullImageName)
continue