如何获取Docker映像的最后推送日期?

时间:2020-02-04 14:11:37

标签: docker docker-registry

在docker hub上关于存储库的描述中,我看到“最后推送:15天前”。如何使用Docker API v2获得此值?我在Docker文档或其他站点上都找不到此信息。

“ curl -X GET http://localhost:5000/v2/ {repo} /manifests/0.3”之类的请求仅包含创建日期。

1 个答案:

答案 0 :(得分:0)

用于DOCKER HUB
使用此网址:::

curl -X GET https://hub.docker.com/v2/repositories/library/image-name/tags/image-tag

因此对于标记为9.6.16的pos​​tgres,URL为:

curl -X GET https://hub.docker.com/v2/repositories/library/postgres/tags/9.6.16

您将可以查看所有必填信息,例如 last_updated

用于本地注册
您可以使用Docker引擎REST API来获取上次更新时间。
假设您有一个本地注册表 registry:5000 ,并且上传了带有标签的图像为 image:v2 。因此您的映像注册表为 registry:5000 / image:v2

您可以使用以下api获取其上次更新时间:-

 curl --unix-socket /var/run/docker.sock http:/localhost/images/registry:5000/image:v2/json 

您可以在元数据-> LastTagTime中找到所需的信息,如下所示:-

{
    "Id": "sha256:...",
     ****other information *
    "Metadata": {
        "LastTagTime": "2020-02-05T00:38:12.967003696+05:30"
    }
}

注意:默认情况下,Docker守护进程在unix:///var/run/docker.sock上进行侦听,您也可以使其在某些端口上进行侦听。