如何从Azure容器注册表中删除图像

时间:2017-01-03 15:33:35

标签: azure docker-registry azure-container-registry

有没有办法只删除特定标签?我只找到了使用REST / cli-acr

删除整个注册表的方法

由于

8 个答案:

答案 0 :(得分:6)

我们正在加强本月晚些时候GA发布的注册表。我们推迟了所有新功能,同时我们专注于性能,可靠性和其他天蓝色数据中心,通过GA在所有公共数据中心提供ACR。 我们将在以后的版本中提供图像和标签的删除。 我们已开始使用https://github.com/Azure/acr/来跟踪功能和错误。 此处捕获删除:https://github.com/Azure/acr/issues/33

感谢您的反馈, 史蒂夫

答案 1 :(得分:6)

您可以使用Azure CLI 2.0从具有给定标记的存储库中删除图像:

az acr repository delete -n MyRegistry --repository MyRepository --tag MyTag

  • MyRegistry是Azure容器注册表的名称
  • MyRepository是存储库的名称
  • MyTag表示您要删除的代码。

您还可以通过省略--tag MyTag来选择删除整个存储库。有关az acr repository delete命令的更多信息,请访问:https://docs.microsoft.com/en-us/cli/azure/acr/repository#delete

答案 2 :(得分:4)

这是一个powershell脚本,删除除标签MyTag1和MyTag2之外的所有Azure容器注册表标记:

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}

它使用Azure CLI 2.0

答案 3 :(得分:2)

我有一个类似的问题,我想从存储库中删除历史图像,因为我们的配额已达到100%

我能够通过在Azure CLI 2.0中使用以下命令来完成此操作。该过程执行以下操作:获取标记列表,使用grep过滤它并使用sed将其清除,然后将其传递给delete命令。

获取给定存储库的所有标记

az acr repository show-tags -n [registry] --repository [repository] 

获取所有以特定输入和管道开头的标签,这将删除尾随的逗号

grep \"[starts with] | sed 's/,*$//g'

使用xargs,将输出分配给变量X并将其用作标记。

  

- 清单:   删除标记引用的清单。这也会删除任何关联的图层数据以及引用清单的所有其他标记。

     

- 是--y:不要提示确认。

xargs -I X az acr repository delete -n [registry] --repository [repository] --tag X --manifest --yes

e.g。 registry = myRegistry,repository = myRepo,我想删除以标记名'test'开头的所有标签(这将包括test123,测试等)

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

可在此处找到更多信息Microsoft Azure Docs

答案 4 :(得分:1)

作为更新,今天我们发布了几个功能的预览,包括存储库delete,单个Azure Active Directory登录和Webhooks。 史蒂夫

答案 5 :(得分:0)

我尝试了所有命令,但没有一个起作用,尽管我可以将其堆叠起来,所以我进入门户网站Azure并自己删除了我的存储库。有效

答案 6 :(得分:0)

以下命令有助于删除名称或搜索模式后面的特定图像:-

 
class MyTask {
  String taskName;
  Timestamp dueTime;
  String member;
  bool completed;

//constructor
  MyTask({this.taskName, this.dueTime, this.member, this.completed});
}

class MyGroup {
  String groupId;
  String groupName;
  String groupAdmin;
  List<String> groupMembers;
  Timestamp groupCreated;
  List<MyTask> currentTask;

  MyGroup({
    this.groupId,
    this.groupName,
    this.groupAdmin,
    this.groupMembers,
    this.groupCreated,
    this.currentTask,
  });
}

MyGroup ABC=MyGroup(groupId: 'xyz',currentTask:[____________]);

我的用例是删除所有在2020年8月之前创建的Container Register,因此我复制了以下命令的输出,然后执行它们,因为清单名称的创建日期类似于az acr repository show-manifests -n myRegistryName --repository myRepositoryName --query '[].tags[0]' -o yaml | grep 'mySearchPattern' | sed 's/- /az acr repository delete --name myRegistryName --yes --image myRepositoryName:/g' :-

DDMMYYYY-HHMM

参考:Microsoft ACR CLI

答案 7 :(得分:0)

@christianliebel Azure CLI 的以下回答会产生错误from statsmodels.tsa.arima_model import ARIMA model = ARIMA(df['numbers'], order=(3,2,0)) model_fit = model.fit(disp=0) model_fit.plot_predict(dynamic=False) plt.plot(df2) plt.show()

unrecognized arguments: --tag MyTag

我正在使用:

➜ az acr repository delete -n MyRegistry --repository MyRepository --tag MyTag
az: error: unrecognized arguments: --tag MyTag

这有效:

➜ az --version
azure-cli                         2.11.1

Microsoft Azure CLI文档示例:

https://docs.microsoft.com/en-us/cli/azure/acr/repository?view=azure-cli-latest#az-acr-repository-delete-examples

相关问题