【问题标题】:ACR - delete only old images - variable reference not valdACR - 仅删除旧图像 - 变量引用无效
【发布时间】:2019-09-12 13:43:30
【问题描述】:

我正在尝试清理 ACR 中的旧图像。它有 8 个存储库,所以首先我希望它只在其中一个存储库中进行测试……关于它的复杂之处在于我需要保留最后 4 个创建的图像。所以我有这个脚本:

$acrName = ACRttestt

$repo = az acr repository list --name $acrName --top 1

$repo | Convertfrom-json | Foreach-Object {
    $imageName = $_
    (az acr repository show-tags -n $acrName --repository $_ | 
       convertfrom-json |) Select-Object -SkipLast 4 | Foreach-Object {
           az acr repository delete -n $acrName --image "$imageName:$_"
       }
}

但我收到以下错误:

在 line:9 char:58 + ... az acr repository delete -n $acrName 失败 --image "$imageName:$_" + ~~~~~~~~~~~ 变量引用无效。 ':' 后面没有有效的变量名字符。考虑 使用 ${} 分隔名称。

有什么想法吗?

提前致谢

【问题讨论】:

    标签: azure azure-container-registry


    【解决方案1】:

    您需要将"$imageName:$_" 更改为"${imageName}:$_"。然后脚本将如下所示:

    $acrName = "ACRttestt"
    
    $repo = az acr repository list --name $acrName --top 1
    
    $repo | Convertfrom-json | Foreach-Object {
        $imageName = $_
        (az acr repository show-tags -n $acrName --repository $_ | 
           convertfrom-json |) Select-Object -SkipLast 4 | Foreach-Object {
               az acr repository delete -n $acrName --image "${imageName}:$_"
           }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-18
      • 2017-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2014-02-07
      相关资源
      最近更新 更多