当前位置: 首页 > 面试题库 >

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

蔚和安
2023-03-14
问题内容

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

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


问题答案:

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

只需一行脚本:(找到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标签



 类似资料:
  • 如何使用CLI(首选)或curl列出远程Docker注册表上Docker图像的所有标记? 最好不从远程注册表中提取所有版本。我只想列出标签。

  • 问题内容: 我正在使用docker Registry v1,并且有兴趣迁移到较新的版本v2。但是我需要某种方式来获取注册表中存在的图像列表。例如,对于注册表v1,我可以执行GET请求,结果是: 但是我在官方文档中找不到类似于在注册表中获取映像列表的内容。有人知道在新版本v2上执行此操作的方法吗? 问题答案: 对于最新(截至2015年7月31 日)的Registry V2版本,您可以从DockerH

  • 问题内容: 我尝试为Docker映像找到一个特定的标签。如何在命令行上执行此操作?我尽量避免全部下载并删除不需要的图像。 在正式的Ubuntu版本https://registry.hub.docker.com/_/ubuntu/中,有多个标签(针对该版本),而当我在命令行上搜索它时, 同样在命令行 https://docs.docker.com/engine/reference/commandli

  • 问题内容: 我需要使用哪些CLI命令来检查我的私有Docker注册表中的映像是否比服务器上当前正在运行的映像新版本? 例如,我有一个运行的容器 我想知道它是否过时了。 问题答案: 布朗尼指出了@mbarthelemy和@amuino,他们使我步入正轨。由此,我提出了以下bash脚本,其他人可能会觉得有用。它只是检查注册表上的标记是否与当前正在执行的容器不同。

  • 问题内容: 我正在尝试从Node.js中的Google Container Registry(gcr.io)获取可用图像及其标签的列表。 我首先使用来获取具有scope的令牌,然后将该令牌交换为令牌,如下所示: 然后,我尝试使用此方法来调用端点: 我得到以下错误: 足够公平,它必须提供我的项目ID,但是我应该在哪里提供呢? 只是为了看看我是否还能使其他任何东西正常工作,我尝试了: 我得到以下信息: