小编典典

如何列出远程注册表上 Docker 映像的所有标签?

all

如何使用 CLI(首选)或 curl 在远程 Docker 注册表上列出 Docker 映像的所有标签?

最好不要从远程注册表中提取所有版本。我只想列出标签。


阅读 92

收藏
2022-04-07

共1个答案

小编典典

我从这里得到了答案。非常感谢!:)

只需一行脚本:(找到debian的所有标签)

wget -q https://registry.hub.docker.com/v1/repositories/debian/tags -O -  | sed -e 's/[][]//g' -e 's/"//g' -e 's/ //g' | tr '}' '\n'  | awk -F: '{print $3}'

更新感谢@degelf 的建议。这是shell脚本。

#!/bin/bash

if [ $# -lt 1 ]
then
cat << HELP

dockertags  --  list all tags for a Docker image on a remote registry.

EXAMPLE: 
    - list all tags for ubuntu:
       dockertags ubuntu

    - list all php tags containing apache:
       dockertags php apache

HELP
fi

image="$1"
tags=`wget -q https://registry.hub.docker.com/v1/repositories/${image}/tags -O -  | sed -e 's/[][]//g' -e 's/"//g' -e 's/ //g' | tr '}' '\n'  | awk -F: '{print $3}'`

if [ -n "$2" ]
then
    tags=` echo "${tags}" | grep "$2" `
fi

echo "${tags}"

您可以dockertags在 /usr/local/bin 下创建一个新文件名 (或将 PATH 环境添加到您的.bashrc/
.zshrc),然后将该代码放入其中。然后添加可执行权限(chmod +x dockertags)。

用法:

dockertags ubuntu -–> 列出 ubuntu 的所有标签

dockertags php apache -–> 列出所有包含 ‘apache’ 的 php 标签

2022-04-07