2017-01-03 19 views
5

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

+1

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

Trả lời

5

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

1

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

3

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 Registry
  • MyRepository 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

1

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

1

đâ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.

Các vấn đề liên quan