优化镜像同步的内容
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -56,7 +56,7 @@ func TestImageDelete(t *testing.T) {
|
||||
func TestImagePullFromCmiiHarbor(t *testing.T) {
|
||||
image := "harbor.cdcyy.com.cn/cmii/cmii-uav-gateway:4.1.6-beta"
|
||||
|
||||
pullFromCmiiHarbor := PullFromCmiiHarbor(image)
|
||||
pullFromCmiiHarbor := PullFromDockerHub(image)
|
||||
defer pullFromCmiiHarbor.Close()
|
||||
|
||||
scanner := bufio.NewScanner(pullFromCmiiHarbor)
|
||||
@@ -162,7 +162,7 @@ func TestSaveSpecificImageToGzipFile(t *testing.T) {
|
||||
}
|
||||
|
||||
for _, imageFullName := range imageFullNameList {
|
||||
result := PullFromCmiiHarbor(imageFullName)
|
||||
result := PullFromDockerHub(imageFullName)
|
||||
if result == nil {
|
||||
log.ErrorF("image pull error ! => %s", imageFullName)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user