bash – 如何检查我的本地码头影像是否过时,不要从别的地方推?
发布时间:2020-12-15 18:54:04 所属栏目:安全 来源:网络整理
导读:我在一个Docker容器中,在Coreos服务器上运行一个应用程序.假设这是从dockerhub从https://hub.docker.com/r/myimages/myapp拉出来的. 现在我想定期检查应用程序容器的dockerhub映像是否已更新,以查看本地运行的映像是否在后面. 与远程图像相比,检查本地码头影
我在一个Docker容器中,在Coreos服务器上运行一个应用程序.假设这是从dockerhub从https://hub.docker.com/r/myimages/myapp拉出来的.
现在我想定期检查应用程序容器的dockerhub映像是否已更新,以查看本地运行的映像是否在后面. 与远程图像相比,检查本地码头影像是否过时最有效的方法是什么?到目前为止,我发现的所有解决方案都是bash脚本或外部服务,推动更新.我想找到一个尽可能靠近Docker的解决方案,并且不想从别的地方发送通知(提醒服务器更新的图像).
Docker Hub有一个
API available
您应该能够获取标签列表,并从那里获得清单详细信息 编辑 我做了一些挖掘,看起来他们没有暴露任何形式的校验和,它的清单或组成的层. 我找到的最接近的事情是创建日期…如果你想让远程安全的东西,我不会建议使用. 无论如何,您首先需要获取访问令牌 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 比较两个,并且… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |