How can I list all tags for a Docker image on a remote registry?

前端 未结 19 1996
时光取名叫无心
时光取名叫无心 2020-12-04 04:46

How can I list all tags of a Docker image on a remote Docker registry using the CLI (preferred) or curl?

Preferably without pulling all versions from the remote regi

19条回答
  •  盖世英雄少女心
    2020-12-04 05:11

    I got the answer from here . Thanks a lot! :)

    Just one-line-script:(find all the tags of 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}'
    

    UPDATE Thanks for @degelf's advice. Here is the shell script.

    #!/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}"
    

    You can just create a new file name, dockertags, under /usr/local/bin (or add a PATH env to your .bashrc/.zshrc), and put that code in it. Then add the executable permissions(chmod +x dockertags).

    Usage:

    dockertags ubuntu ---> list all tags of ubuntu

    dockertags php apache ---> list all php tags php containing 'apache'

提交回复
热议问题