获取可从命令行拉出的docker标记列表?

时间:2016-10-04 13:09:44

标签: docker dockerhub

我想获得有关docker图像的已发布版本/标签的一些基本信息,以了解哪些图像:我可以提取标签。我还希望看到每个标签最近发布的时间。

有没有办法在命令行上执行此操作?

Docker version 1.10.2, build c3959b1

基本上寻找码头图像的等效npm info {pkg}

1 个答案:

答案 0 :(得分:2)

不是来自命令行。您有docker search,但它只返回您想要的数据子集,并且只返回带有:latest标记的图片:

> docker search sixeyed/hadoop-dotnet
NAME                    DESCRIPTION                        STARS     OFFICIAL   AUTOMATED
sixeyed/hadoop-dotnet   Hadoop with .NET Core installed    1                    [OK]

如果您需要更多详细信息,则需要使用registry API,但它只有一个用于列出存储库的目录端点,issue for search仍处于打开状态。

假设您知道存储库名称,您可以导航API - 首先您需要一个身份验证令牌:

> curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:sixeyed/hadoop-dotnet:pull"
{"token":"eyJhbG...

然后您将令牌传递给后续请求,例如列出标签:

> curl --header "Authorization: Bearer eyJh..." https://index.docker.io/v2/sixeyed/hadoop-dotnet/tags/list
{"name":"sixeyed/hadoop-dotnet","tags":["2.7.2","latest"]} 

然后通过其存储库名称和标记获取有关一个图像的所有信息:

> curl --header "Authorization: Bearer eyJh..." https://index.docker.io/v2/sixeyed/hadoop-dotnet/manifests/latest