簡體   English   中英

用人工制品中的最新標簽覆蓋 docker 圖像

[英]Overwrite docker image with latest tag in artifactory

我目前正在將同一圖像兩次推送到 artifactory,一個帶有標簽號,另一個帶有最新標簽。

對於下一個版本,我想用包含最新標簽的新圖像覆蓋帶有最新標簽的圖像。 以下是我從 Azure devops build 嘗試的方式

Docker Build Command:
     $(docker_registry)/$(Build.Repository.Name):$(BuildNbr)
Docker Push Command
      $(docker_registry)/$(Build.Repository.Name):$(BuildNbr)

與上面的最新標簽相同,然后

docker pull $(docker_registry)/imageName:latest

docker rmi --force $(docker_registry)/imageName:latest   //removing latest image from artifactory NOT WORKING

docker pull $(docker_registry)/imageName:$(BuildNbr)

docker tag $(docker_registry)/imageName:$(BuildNbr) $(docker_registry)/imageName:latest

docker push $(docker_registry)/imageName:latest

不知何故,上面的流程不起作用,最新的圖像沒有被覆蓋。

我做錯了嗎? 我相信 rmi 命令不會從 artifactory 中刪除圖像。

您可以通過權限的包含/排除模式來實現它。 您可以創建一個新的權限目標,為其中包含“最新”的標簽提供覆蓋/刪除權限:

  1. 刪除包含模式**
  2. 添加包含模式**/latest/*
  3. 僅添加所需的 docker 存儲庫(例如“docker local”)
  4. 將需要能夠覆蓋/刪除的任何人添加到此權限目標。

在此處輸入圖像描述

然后,對於定義其余標記(1.1、1.2 等)的所有其他權限目標,不提供覆蓋/刪除權限。 有了這個,您將能夠覆蓋最新的而不是其他標簽。

您可以在此處閱讀與權限目標相關的包含/排除模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM