我在一个Docker容器中,在Coreos服务器上运行一个应用程序.假设这是从dockerhub从https://hub.docker.com/r/myimages/myapp拉出来的.
现在我想定期检查应用程序容器的dockerhub映像是否已更新,以查看本地运行的映像是否在后面.
与远程图像相比,检查本地码头影像是否过时最有效的方法是什么?到目前为止,我发现的所有解决方案都是bash脚本或外部服务,推动更新.我想找到一个尽可能靠近Docker的解决方案,并且不想从别的地方发送通知(提醒服务器更新的图像).
Docker Hub有一个
API available
原文链接:https://www.f2er.com/bash/386702.html编辑
我做了一些挖掘,看起来他们没有暴露任何形式的校验和,它的清单或组成的层.
我找到的最接近的事情是创建日期…如果你想让远程安全的东西,我不会建议使用.
无论如何,您首先需要获取访问令牌
curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:library/ubuntu:pull"
从响应中提取令牌,然后可以加载图像版本的清单
curl --header "Authorization: Bearer $TOKEN" https://index.docker.io/v2/library/ubuntu/manifests/latest
看看json返回的历史对象,你会发现一个创建的属性.
然后你可以得到你的本地图像创建日期
docker inspect --format "{{json .Created}}" ubuntu:latest
比较两个,并且…