如何在 Google Cloud Platform Kubernetes Pod 中获取镜像名称
How to get image name in Google Cloud Platform Kubernetes Pod
如何在 kubernetes 中的 pod 上获取容器镜像 运行 的 digest?
根据下面的屏幕截图,我希望能够从 pod 中检索 d976aea36eb5
(日志、YAML 等,无论是通过何种方式获取)
我可以从YAML://Deployment/spec/template/spec/containers/image
得到的是mysolution.host
,这是图片的通用名称。
如果无法通过 kubernetes API 实现,您可以通过 docker 注册表 API.
您要查找的是图像的 摘要,即其 manifest 的 sha256 哈希。 GCR 的 UI 截图中的 "Name" 列是图像的截断摘要。
字符串 us.gcr.io/my-project-37111/mysolution.host
表示一个 存储库 ,它只是一个图像集合。这些图像可以通过它们的摘要或标签来引用。
您可以使用 gcloud 列出存储库中的所有标签:
$ gcloud container images list-tags us.gcr.io/my-project-37111/mysolution.host
这也会向您显示截断的摘要。对于完整摘要,您可以使用 --format=json
标志:
$ gcloud container images list-tags --format=json us.gcr.io/my-project-37111/mysolution.host
如果您碰巧知道标签(0.0.5-linux
突出显示的图像),您可以直接调用注册表 API:
$ curl \
-H "Accept: *" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-I https://us.gcr.io/v2/my-project-37111/mysolution.host/manifests/0.0.5-linux |
grep "digest"
如何在
根据下面的屏幕截图,我希望能够从 pod 中检索 d976aea36eb5
(日志、YAML 等,无论是通过何种方式获取)
我可以从YAML://Deployment/spec/template/spec/containers/image
得到的是mysolution.host
,这是图片的通用名称。
如果无法通过 kubernetes API 实现,您可以通过 docker 注册表 API.
您要查找的是图像的 摘要,即其 manifest 的 sha256 哈希。 GCR 的 UI 截图中的 "Name" 列是图像的截断摘要。
字符串 us.gcr.io/my-project-37111/mysolution.host
表示一个 存储库 ,它只是一个图像集合。这些图像可以通过它们的摘要或标签来引用。
您可以使用 gcloud 列出存储库中的所有标签:
$ gcloud container images list-tags us.gcr.io/my-project-37111/mysolution.host
这也会向您显示截断的摘要。对于完整摘要,您可以使用 --format=json
标志:
$ gcloud container images list-tags --format=json us.gcr.io/my-project-37111/mysolution.host
如果您碰巧知道标签(0.0.5-linux
突出显示的图像),您可以直接调用注册表 API:
$ curl \
-H "Accept: *" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-I https://us.gcr.io/v2/my-project-37111/mysolution.host/manifests/0.0.5-linux |
grep "digest"