用 cURL 简单写一个查询 Docker 镜像的脚本,可以非常方便的查看搜索可以选 tag 。

脚本内容很简单,主要是使用 cURL 从 registry.hub.docker.com 获取镜像的 tag 信息,使用 jq 工具格式化取出 tag 名称。

为了兼容某些没有预装 jq 命令的 Linux ,留下一种略复杂的方式来格式化取到内容。

可以高亮过滤 tag 内容,例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env sh

# print usage

if [ $# -eq 0 ]; then
    echo " Usage:
    $0 <docker_images_name> [string_in_tag]

    e.g.  $0 nginx stable"

    exit 1
fi

# get tags

# tags='curl -s https://registry.hub.docker.com/v1/repositories/centos/tags | tr "}]" "\n\b"  | cut -d \" -f 8'
tags='curl -s https://registry.hub.docker.com/v1/repositories/$1/tags |jq -r ".[] | .name" 2>/dev/null'

# filter

if [ -n "$2" ]; then
    eval $tags |grep --color=auto "$2"
else
    eval $tags
fi