From 815255574e6108f09df7685937c09a8e5ba29416 Mon Sep 17 00:00:00 2001 From: ssongliu Date: Thu, 15 Jan 2026 14:03:21 +0800 Subject: [PATCH] fix: Fix container image cleanup count display abnormality issue --- agent/app/service/container.go | 10 ++-------- agent/i18n/lang/en.yaml | 2 +- agent/i18n/lang/es-ES.yaml | 2 +- agent/i18n/lang/ja.yaml | 2 +- agent/i18n/lang/ko.yaml | 2 +- agent/i18n/lang/ms.yaml | 2 +- agent/i18n/lang/pt-BR.yaml | 2 +- agent/i18n/lang/ru.yaml | 2 +- agent/i18n/lang/tr.yaml | 2 +- agent/i18n/lang/zh-Hant.yaml | 2 +- agent/i18n/lang/zh.yaml | 2 +- frontend/src/views/container/image/prune/index.vue | 4 ++-- 12 files changed, 14 insertions(+), 20 deletions(-) diff --git a/agent/app/service/container.go b/agent/app/service/container.go index 628709530cd3..7dce6705dbf4 100644 --- a/agent/app/service/container.go +++ b/agent/app/service/container.go @@ -435,7 +435,6 @@ func (u *ContainerService) Prune(req dto.ContainerPrune) error { } } taskItem.Log(i18n.GetMsgByKey("PruneStart")) - DeletedNumber := 0 SpaceReclaimed := 0 switch req.PruneType { case "container": @@ -443,21 +442,18 @@ func (u *ContainerService) Prune(req dto.ContainerPrune) error { if err != nil { return err } - DeletedNumber = len(rep.ContainersDeleted) SpaceReclaimed = int(rep.SpaceReclaimed) case "image": rep, err := client.ImagesPrune(context.Background(), pruneFilters) if err != nil { return err } - DeletedNumber = len(rep.ImagesDeleted) SpaceReclaimed = int(rep.SpaceReclaimed) case "network": - rep, err := client.NetworksPrune(context.Background(), pruneFilters) + _, err := client.NetworksPrune(context.Background(), pruneFilters) if err != nil { return err } - DeletedNumber = len(rep.NetworksDeleted) case "volume": versions, err := client.ServerVersion(context.Background()) if err != nil { @@ -470,7 +466,6 @@ func (u *ContainerService) Prune(req dto.ContainerPrune) error { if err != nil { return err } - DeletedNumber = len(rep.VolumesDeleted) SpaceReclaimed = int(rep.SpaceReclaimed) case "buildcache": opts := build.CachePruneOptions{} @@ -479,10 +474,9 @@ func (u *ContainerService) Prune(req dto.ContainerPrune) error { if err != nil { return err } - DeletedNumber = len(rep.CachesDeleted) SpaceReclaimed = int(rep.SpaceReclaimed) } - taskItem.Log(i18n.GetMsgWithMap("PruneHelper", map[string]interface{}{"name": i18n.GetMsgByKey(name), "count": DeletedNumber, "size": common.LoadSizeUnit2F(float64(SpaceReclaimed))})) + taskItem.Log(i18n.GetMsgWithMap("PruneHelper", map[string]interface{}{"name": i18n.GetMsgByKey(name), "size": common.LoadSizeUnit2F(float64(SpaceReclaimed))})) return nil }, nil) go func() { diff --git a/agent/i18n/lang/en.yaml b/agent/i18n/lang/en.yaml index 0171eeede7e9..ebe445ff78f3 100644 --- a/agent/i18n/lang/en.yaml +++ b/agent/i18n/lang/en.yaml @@ -212,7 +212,7 @@ ErrObjectInUsed: "This object is in use and cannot be deleted!" ErrObjectBeDependent: "This image is depended on by other images and cannot be deleted!" ErrPortRules: 'Port number does not match, please re-enter!' ErrPgImagePull: 'Image pull timed out, please configure image acceleration or manually pull the {{ .name }} image and try again' -PruneHelper: "This cleanup removed {{ .name }} {{ .count }} items, freeing {{ .size }} disk space" +PruneHelper: "This cleanup {{ .name }} freed disk space {{ .size }}" ImageRemoveHelper: "Deleted image {{ .name }}, freeing {{ .size }} disk space" BuildCache: "Build cache" Volume: "Storage volume" diff --git a/agent/i18n/lang/es-ES.yaml b/agent/i18n/lang/es-ES.yaml index d28207ae638c..73125fb55312 100644 --- a/agent/i18n/lang/es-ES.yaml +++ b/agent/i18n/lang/es-ES.yaml @@ -211,7 +211,7 @@ ErrObjectInUsed: "Este objeto está en uso y no se puede eliminar!" ErrObjectBeDependent: "Esta imagen es dependida por otras imágenes y no se puede eliminar!" ErrPortRules: 'El número de puerto no coincide, ingrese de nuevo' ErrPgImagePull: 'Tiempo de espera al descargar la imagen, configure la aceleración o descárguela manualmente ({{ .name }}) e intente de nuevo' -PruneHelper: "Esta limpieza eliminó {{ .name }} {{ .count }} elementos, liberando {{ .size }} de espacio en disco" +PruneHelper: "Esta limpieza {{ .name }} liberó espacio en disco {{ .size }}" ImageRemoveHelper: "Imagen {{ .name }} eliminada, liberando {{ .size }} de espacio en disco" BuildCache: "Caché de compilación" Volume: "Volumen de almacenamiento" diff --git a/agent/i18n/lang/ja.yaml b/agent/i18n/lang/ja.yaml index 67788d9ee058..66cfba021293 100644 --- a/agent/i18n/lang/ja.yaml +++ b/agent/i18n/lang/ja.yaml @@ -211,7 +211,7 @@ ErrObjectInUsed: "このオブジェクトは使用中であり、削除でき ErrObjectBeDependent: "このイメージは他のイメージに依存されているため、削除できません!" ErrPortRules: 'ポート番号が一致しません。再入力してください。' ErrPgImagePull: 'イメージのプルがタイムアウトしました。イメージのアクセラレーションを設定するか、{{ .name }} イメージを手動でプルして再試行してください' -PruneHelper: "今回のクリーンアップで{{ .name }} {{ .count }}個を削除し、{{ .size }}のディスク領域を解放しました" +PruneHelper: "今回のクリーンアップ {{ .name }} でディスク領域 {{ .size }} を解放しました" ImageRemoveHelper: "イメージ{{ .name }}を削除し、{{ .size }}のディスク領域を解放しました" BuildCache: "ビルドキャッシュ" Volume: "ストレージボリューム" diff --git a/agent/i18n/lang/ko.yaml b/agent/i18n/lang/ko.yaml index 2e0df212a857..664d048bc085 100644 --- a/agent/i18n/lang/ko.yaml +++ b/agent/i18n/lang/ko.yaml @@ -212,7 +212,7 @@ ErrObjectInUsed: "이 객체는 사용 중이어서 삭제할 수 없습니다!" ErrObjectBeDependent: "이 이미지는 다른 이미지에 의존되어 있어 삭제할 수 없습니다!" ErrPortRules: '포트 번호가 일치하지 않습니다. 다시 입력하세요!' ErrPgImagePull: '이미지 풀링 시간이 초과되었습니다. 이미지 가속을 구성하거나 {{ .name }} 이미지를 수동으로 풀링한 다음 다시 시도하세요.' -PruneHelper: "이번 정리에서 {{ .name }} {{ .count }}개를 제거하여 {{ .size }} 디스크 공간을 확보했습니다" +PruneHelper: "이번 정리 {{ .name }}가 디스크 공간 {{ .size }}을(를) 확보했습니다" ImageRemoveHelper: "이미지 {{ .name }} 삭제, {{ .size }} 디스크 공간 확보" BuildCache: "빌드 캐시" Volume: "스토리지 볼륨" diff --git a/agent/i18n/lang/ms.yaml b/agent/i18n/lang/ms.yaml index b4480393b5a0..1a71cd5bdbb5 100644 --- a/agent/i18n/lang/ms.yaml +++ b/agent/i18n/lang/ms.yaml @@ -212,7 +212,7 @@ ErrObjectInUsed: "Objek ini sedang digunakan dan tidak boleh dipadam!" ErrObjectBeDependent: "Imej ini digantungkan oleh imej lain dan tidak boleh dipadam!" ErrPortRules: 'Nombor port tidak sepadan, sila masukkan semula!' ErrPgImagePull: 'Tarikh imej tamat masa, sila konfigurasikan pecutan imej atau tarik imej {{ .name }} secara manual dan cuba lagi' -PruneHelper: "Pembersihan ini membuang {{ .name }} {{ .count }} item, membebaskan {{ .size }} ruang cakera" +PruneHelper: "Pembersihan ini {{ .name }} membebaskan ruang cakera {{ .size }}" ImageRemoveHelper: "Padam imej {{ .name }}, membebaskan {{ .size }} ruang cakera" BuildCache: "Cache binaan" Volume: "Jilid storan" diff --git a/agent/i18n/lang/pt-BR.yaml b/agent/i18n/lang/pt-BR.yaml index b83768dd9749..0fd9b577196a 100644 --- a/agent/i18n/lang/pt-BR.yaml +++ b/agent/i18n/lang/pt-BR.yaml @@ -212,7 +212,7 @@ ErrObjectInUsed: "Este objeto está em uso e não pode ser excluído!" ErrObjectBeDependent: "Esta imagem é dependida por outras imagens e não pode ser excluída!" ErrPortRules: 'O número da porta não corresponde, digite novamente!' ErrPgImagePull: 'Tempo limite para extração de imagem. Configure a aceleração de imagem ou extraia manualmente a imagem {{ .name }} e tente novamente' -PruneHelper: "Esta limpeza removeu {{ .name }} {{ .count }} itens, liberando {{ .size }} de espaço em disco" +PruneHelper: "Esta limpeza {{ .name }} liberou espaço em disco {{ .size }}" ImageRemoveHelper: "Excluída a imagem {{ .name }}, liberando {{ .size }} de espaço em disco" BuildCache: "Cache de construção" Volume: "Volume de armazenamento" diff --git a/agent/i18n/lang/ru.yaml b/agent/i18n/lang/ru.yaml index c891247793b5..98cf38a8f9ed 100644 --- a/agent/i18n/lang/ru.yaml +++ b/agent/i18n/lang/ru.yaml @@ -212,7 +212,7 @@ ErrObjectInUsed: "Этот объект используется и не мож ErrObjectBeDependent: "Этот образ зависит от других образов и не может быть удален!" ErrPortRules: 'Номер порта не совпадает, введите заново!' ErrPgImagePull: 'Время извлечения изображения истекло. Настройте ускорение изображения или вручную извлеките изображение {{ .name }} и повторите попытку' -PruneHelper: "Очистка удалила {{ .name }} в количестве {{ .count }}, освободив {{ .size }} дискового пространства" +PruneHelper: "Эта очистка {{ .name }} освободила дисковое пространство {{ .size }}" ImageRemoveHelper: "Удалён образ {{ .name }}, освобождено {{ .size }} дискового пространства" BuildCache: "Кэш сборки" Volume: "Том хранилища" diff --git a/agent/i18n/lang/tr.yaml b/agent/i18n/lang/tr.yaml index 325933e6a8f4..d385af7f5414 100644 --- a/agent/i18n/lang/tr.yaml +++ b/agent/i18n/lang/tr.yaml @@ -213,7 +213,7 @@ ErrObjectInUsed: "Bu nesne kullanımda ve silinemez!" ErrObjectBeDependent: "Bu görüntü diğer görüntüler tarafından bağımlıdır ve silinemez!" ErrPortRules: 'Port numarası eşleşmiyor, lütfen yeniden girin!' ErrPgImagePull: 'Image çekme zaman aşımı, lütfen image hızlandırma yapılandırın veya manuel olarak {{ .name }} imageını çekin ve tekrar deneyin' -PruneHelper: "Bu temizleme {{ .name }} {{ .count }} öğe kaldırdı, {{ .size }} disk alanı boşalttı" +PruneHelper: "Bu temizlik {{ .name }} disk alanı {{ .size }} boşalttı" ImageRemoveHelper: "{{ .name }} imajı silindi, {{ .size }} disk alanı boşalttı" BuildCache: "Derleme önbelleği" Volume: "Depolama hacmi" diff --git a/agent/i18n/lang/zh-Hant.yaml b/agent/i18n/lang/zh-Hant.yaml index ba6e4aadffad..48372a44018b 100644 --- a/agent/i18n/lang/zh-Hant.yaml +++ b/agent/i18n/lang/zh-Hant.yaml @@ -211,7 +211,7 @@ ErrObjectInUsed: "該對象正被使用,無法刪除!" ErrObjectBeDependent: "該映像正被其他映像所依賴,無法刪除!" ErrPortRules: '連接埠數目不匹配,請重新輸入!' ErrPgImagePull: '鏡像拉取逾時,請配置鏡像加速或手動拉取{{ .name }} 鏡像後重試' -PruneHelper: "本次清理 {{ .name }} {{ .count }} 個,釋放磁碟空間 {{ .size }}" +PruneHelper: "本次清理 {{ .name }} 釋放磁碟空間 {{ .size }}" ImageRemoveHelper: "刪除鏡像 {{ .name }} ,釋放磁碟空間 {{ .size }}" BuildCache: "構建快取" Volume: "磁碟區" diff --git a/agent/i18n/lang/zh.yaml b/agent/i18n/lang/zh.yaml index cc79bc7e4888..f3b0761e1ad2 100644 --- a/agent/i18n/lang/zh.yaml +++ b/agent/i18n/lang/zh.yaml @@ -212,7 +212,7 @@ ErrObjectInUsed: "该对象正被使用,无法删除!" ErrObjectBeDependent: "该镜像正被其他镜像所依赖,无法删除!" ErrPortRules: "端口数目不匹配,请重新输入!" ErrPgImagePull: "镜像拉取超时,请配置镜像加速或手动拉取 {{ .name }} 镜像后重试" -PruneHelper: "本次清理 {{ .name }} {{ .count }} 个,释放磁盘空间 {{ .size }}" +PruneHelper: "本次清理 {{ .name }} 释放磁盘空间 {{ .size }}" ImageRemoveHelper: "删除镜像 {{ .name }} ,释放磁盘空间 {{ .size }}" BuildCache: "构建缓存" Volume: "存储卷" diff --git a/frontend/src/views/container/image/prune/index.vue b/frontend/src/views/container/image/prune/index.vue index f4b8316c6083..8bab1ca88f3d 100644 --- a/frontend/src/views/container/image/prune/index.vue +++ b/frontend/src/views/container/image/prune/index.vue @@ -89,14 +89,14 @@ const changeScope = () => { if (scope.value === 'untag') { data.value = unTagList.value || []; showMsg.value = - data.value.length === 0 + data.value.length !== 0 ? i18n.global.t('container.imagePruneSomeHelper') : i18n.global.t('container.imagePruneSomeEmpty'); return; } data.value = unUsedList.value || []; showMsg.value = - data.value.length === 0 + data.value.length !== 0 ? i18n.global.t('container.imagePruneAllHelper') : i18n.global.t('container.imagePruneAllEmpty'); return;