Có cách nào để xóa các thẻ cụ thể không? Tôi chỉ tìm thấy một cách để xóa toàn bộ registry bằng cách sử dụng REST/cli-acrCách xóa hình ảnh khỏi Azure Container Registry
Cảm ơn
Có cách nào để xóa các thẻ cụ thể không? Tôi chỉ tìm thấy một cách để xóa toàn bộ registry bằng cách sử dụng REST/cli-acrCách xóa hình ảnh khỏi Azure Container Registry
Cảm ơn
Chúng tôi đang cứng lên registry cho phát hành GA của chúng tôi vào cuối tháng này. Chúng tôi đã hoãn tất cả các tính năng mới trong khi chúng tôi tập trung vào hiệu suất, độ tin cậy và các trung tâm dữ liệu bổ sung, cung cấp ACR trên tất cả các trung tâm dữ liệu công khai của GA. Chúng tôi sẽ cung cấp xóa hình ảnh và thẻ trong bản phát hành trong tương lai. Chúng tôi bắt đầu sử dụng https://github.com/Azure/acr/ để theo dõi các tính năng và lỗi. Xóa được chụp ở đây: https://github.com/Azure/acr/issues/33
Cảm ơn thông tin phản hồi, Steve
Như một bản cập nhật, hôm nay chúng tôi đã phát hành một bản xem trước của một số tính năng bao gồm cả kho delete, cá nhân Azure Logins Active Directory và Webhooks. Steve
Bạn có thể sử dụng Azure CLI 2.0 để xóa hình ảnh từ một kho lưu trữ với một thẻ đưa ra:
az acr repository delete -n MyRegistry --repository MyRepository --tag MyTag
MyRegistry
là tên của Azure container của bạn RegistryMyRepository
là tên của kho lưu trữMyTag
biểu thị thẻ bạn muốn xóa.Bạn cũng có thể chọn xóa toàn bộ kho lưu trữ bằng cách bỏ qua --tag MyTag
. Thông tin thêm về các lệnh az acr repository delete
có thể được tìm thấy ở đây: https://docs.microsoft.com/en-us/cli/azure/acr/repository#delete
Tôi đã có một vấn đề tương tự mà tôi muốn loại bỏ hình ảnh lịch sử từ các kho lưu trữ như hạn ngạch của chúng tôi đã đạt 100%
tôi đã có thể làm điều này bằng cách sử dụng các lệnh sau trong Azure CLI 2.0. Quá trình thực hiện như sau: lấy danh sách các thẻ, lọc nó bằng grep và làm sạch nó bằng sed trước khi chuyển nó tới lệnh delete.
Nhận tất cả các thẻ cho các kho lưu trữ cho
az acr repository show-tags -n [registry] --repository [repository]
Nhận tất cả các thẻ bắt đầu bằng đầu vào và ống cụ thể để sed đó sẽ loại bỏ các dấu phẩy
grep \"[starts with] | sed 's/,*$//g'
Sử dụng xargs, gán đầu ra cho biến X và sử dụng nó làm thẻ.
--manifest: Xóa tệp kê khai được tham chiếu bằng thẻ. Thao tác này cũng xóa mọi dữ liệu lớp được liên kết và tất cả các thẻ khác tham chiếu tệp kê khai.
--yes -y: Không nhắc xác nhận.
xargs -I X az acr repository delete -n [registry] --repository [repository] --tag X --manifest --yes
ví dụ: registry = myRegistry, kho = myRepo, tôi muốn loại bỏ tất cả các thẻ bắt đầu bằng tagname 'test' (điều này sẽ bao gồm test123, thử nghiệm vv)
az acr repository show-tags -n myRegistry --repository myRepo | grep \"test | sed 's/,*$//g' | xargs -I X az acr repository delete -n myRegistry --repository myRepo --tag X --manifest --yes
Thông tin thêm có thể được tìm thấy ở đây Microsoft Azure Docs
đây là một kịch bản PowerShell để xóa tất cả các thẻ Azure container Registry trừ thẻ MyTag1 và MyTag2:
az acr repository show-tags -n MyRegistry --repository MyRepository | ConvertFrom-String | %{$_.P2 -replace "[`",]",""} | where {$_ -notin "MyTag1","MyTag2" } | % {az acr repository delete -n MyRegistry --repository MyRepository --tag $_ --yes}
Nó sử dụng Azure CLI 2.0.
Dường như không có cách nào để thực hiện việc này ngay bây giờ. Chức năng xóa sẽ chỉ được thực hiện trong bản phát hành trong tương lai. – rgomesf