在 Azure Container Registry (預覽) 使用虛刪除原則復原刪除的成品
Azure Container Registry (ACR) 可讓您啟用虛刪除原則,以復原設定保留期間內任何意外刪除的成品。
虛刪除原則的概念
您可隨時啟用/停用虛刪除原則。 當您在 ACR 中啟用虛刪除原則後,它會以已設定的保留期間,將已刪除的成品管理為虛刪除的成品。 因此,您能夠列出、篩選及還原虛刪除的成品。
保留期限
虛刪除成品的預設保留期間為 7 天,但可以將保留期間值設定為 1 到 90 天。 您可以設定、更新及變更保留原則值。 虛刪除的成品會在保留期間完成之後到期。
自動清除
自動清除每隔 24 小時會執行一次,且一律先會考慮目前保留天數的值,再永久刪除虛刪除的成品。 例如,在虛刪除成品五天之後,如果您將保留天數的值從 7 變更為 14 天,則成品在初始虛刪除 14 天後才會到期。
可用性和價格資訊
這項功能適用於所有服務層級 (也稱為 SKU)。 如需有關登錄服務層級的資訊,請參閱 Azure Container Registry 服務層級。
注意
虛刪除的成品會根據儲存體的作用中 SKU 定價計費。
預覽限制
重要
虛刪除原則目前為預覽狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
- ACR 目前不支援手動清除虛刪除的成品。
- 虛刪除原則不支援異地複寫的登錄。
- ACR 不允許同時啟用保留原則和虛刪除原則。 請參閱未標記資訊清單的保留原則。
必要條件
- 使用者需要下列權限 (登錄層級) 才能執行虛刪除作業:
權限 | 描述 |
---|---|
Microsoft.ContainerRegistry/registries/deleted/read | 列出虛刪除的成品 |
Microsoft.ContainerRegistry/registries/deleted/restore/action | 還原虛刪除的成品 |
您可以使用 Azure Cloud Shell 或安裝在本機的 Azure CLI 來執行此文章中的命令範例。 如果您想要在本機使用,需使用 2.0.74 版或更新版本。 針對版本執行
az --version
。 如果您需要安裝或升級,請參閱安裝 Azure CLI。登入 Azure 入口網站。
啟用登錄的虛刪除原則 - CLI
更新指定
MyRegistry
ACR 的虛刪除原則,並將保留期間設定為 1 到 90 天。az acr config soft-delete update -r MyRegistry --days 7 --status <enabled/disabled>
顯示指定
MyRegistry
ACR 的已設定虛刪除原則。az acr config soft-delete show -r MyRegistry
列出虛刪除成品 - CLI
az acr repository list-deleted
命令會啟用虛刪除存放庫的擷取和清單。 如需詳細資訊,請使用 --help
。
列出指定
MyRegistry
ACR 中的虛刪除存放庫。az acr repository list-deleted -n MyRegistry
az acr manifest list-deleted
命令會啟用虛刪除資訊清單的擷取和清單。
列出指定
MyRegistry
ACR 中hello-world
存放庫的虛刪除資訊清單。az acr manifest list-deleted -r MyRegistry -n hello-world
az acr manifest list-deleted-tags
命令會啟用虛刪除標籤的擷取和清單。
列出指定
MyRegistry
ACR 中hello-world
存放庫的虛刪除標籤。az acr manifest list-deleted-tags -r MyRegistry -n hello-world
篩選
hello-world
存放庫的虛刪除標籤,以符合指定MyRegistry
ACR 中的標籤latest
。az acr manifest list-deleted-tags -r MyRegistry -n hello-world:latest
還原虛刪除成品 - CLI
az acr manifest restore
命令會依標籤和摘要還原單一映像。
依指定
MyRegistry
ACR 中的標籤latest
和摘要sha256:abc123
還原hello-world
存放庫的映像。az acr manifest restore -r MyRegistry -n hello-world:latest -d sha256:abc123
在指定的
MyRegistry
ACR 中,依標籤latest
還原hello-world
存放庫最近刪除的資訊清單。az acr manifest restore -r MyRegistry -n hello-world:latest
強制還原會以存放庫中的相同名稱覆寫現有標籤。 如果在強制還原期間啟用虛刪除原則。 會虛刪除覆寫的標籤。 您可以使用特定引數 --force, -f
進行強制還原。
依指定
MyRegistry
ACR 中的標籤latest
和摘要sha256:abc123
強制還原hello-world
存放庫的映像。az acr manifest restore -r MyRegistry -n hello-world:latest -d sha256:abc123 -f
重要
還原資訊清單不會以遞迴方式還原任何基礎虛刪除的資訊清單。 如果您要還原虛刪除的 ORAS 成品,則還原主體並不會以遞迴方式還原參考者鏈結。 此外,必須先還原主體,然後才允許還原參考者資訊清單。 否則,其會擲回錯誤。
啟用登錄的虛刪除原則 - 入口網站
您也可以在 Azure 入口網站中啟用登錄的虛刪除原則。
- 瀏覽至您的 Azure Container Registry。
- 在 [概觀] 索引標籤中,確認 [虛刪除] (預覽) 的狀態。
- 如果 [狀態] 為 [停用],請選取 [更新]。
- 選取核取方塊以 [啟用虛刪除]。
- 選取
0
與90
天之間的天數,以保留虛刪除的成品。 - 選取儲存以儲存變更。
還原虛刪除的成品 - 入口網站
- 瀏覽至您的 Azure Container Registry。
- 在 [功能表] 區段中,選取 [服務],然後選取 [存放庫]。
- 在 [存放庫] 中,選取您慣用的 [存放庫]。
- 選取 [管理已刪除的成品] 以查看所有虛刪除的成品。
注意
啟用虛刪除原則並執行如解除標記資訊清單或刪除成品等動作後,您將能夠在保留天數到期之前,在受控刪除成品中找到這些標籤和成品。
- 篩選您必須還原的已刪除成品。
- 選取成品,然後選取右側資料行中的 [還原]。
- [還原成品] 視窗隨即快顯。
- 選取要還原的標籤,這裡有選項可供您選擇,並復原任何其他標籤。
- 選取 [還原]。
從虛刪除的存放庫中還原 - 入口網站
- 瀏覽至您的 Azure Container Registry。
- 在 [功能表] 區段中,選取 [服務]。
- 在 [服務] 索引標籤中,選取 [存放庫]。
- 在 [存放庫] 索引標籤中,選取 [管理已刪除的存放庫]。
- 在 [虛刪除存放庫] 中篩選已刪除的存放庫 (預覽)。
- 選取已刪除的存放庫,從 [管理已刪除的成品] 上篩選已刪除的成品。
- 選取成品,然後選取右側資料行中的 [還原]。
- [還原成品] 視窗隨即快顯。
- 選取要還原的標籤,這裡有選項可供您選擇,並復原任何其他標籤。
- 選取 [還原]。
重要
已封鎖在來源和目標資源匯入虛刪除的映像。 將映像推送至虛刪除的存放庫將會還原虛刪除的存放庫。 不允許推送與虛刪除映像共用相同資訊清單摘要的映像。 請改為還原虛刪除的映像。
下一步
- 深入了解在 Azure Container Registry 中刪除映像和存放庫的選項。