如何使用 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
.bashrc
.zshrc
chmod +x dockertags
用法:
dockertags ubuntu -–> 列出 ubuntu 的所有标签
dockertags ubuntu
dockertags php apache -–> 列出所有包含 ‘apache’ 的 php 标签
dockertags php apache