【问题标题】:change docker image tag systematically系统地更改 docker 图像标签
【发布时间】:2022-10-11 16:39:11
【问题描述】:

在我的系统中,我创建了一些应用程序的多个图像。 我要处理的所有图像都有latest 标签(可能还有其他带有其他标签的图像)。

$ docker images
REPOSITORY         TAG         IMAGE ID        CREATED            SIZE
image1             latest      abcdefg1        5 minutes ago      1.00GB
and-image2         latest      abcdefg2        6 minutes ago      2.00GB
might-have-img3    latest      abcdefg3        7 minutes ago      2.50GB

如何将带有此标签的所有图像更改为另一个标签? (如您所见,repository 名称不统一,因此存储库上的 grep 可能无济于事)

【问题讨论】:

    标签: docker docker-image


    【解决方案1】:

    这是我发现对我有用的一种方法,适用于未来需要它的人:

    docker images | grep latest | awk '{print "docker tag " $1 ":" $2 " " $1 ":my_new_tag"}' | xargs -L1 -I %s -- sh -c %s
    

    简要命令说明

    该命令获取所有图像的列表,然后将greps 覆盖在具有所需标签的图像上。 在列表中的每个项目上,我们将其格式化如下:

    docker tag repository_fullname:latest repository_fullname:new_tag
    

    然后每个项目都作为 shell 命令执行。 所以它实际上做了以下事情:

    $ docker tag image1:latest image1:new_tag
    $ docker tag and-image2:latest and-image2:new_tag
    $ docker tag might-have-img3:latest might-have-img3:new_tag
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      相关资源
      最近更新 更多