How do you get the digest of a container image running on a pod in
kubernetes?
Based on the screen-shot below, I would like to be able to retrieve d976aea36eb5 from the pod (logs, YAML etc. whatever is the way to get it)
What I can get from YAML://Deployment/spec/template/spec/containers/image is mysolution.host which is the common name of the image.
If this isn't possible via the kubernetes API, you can do it through the docker registry API.
What you're looking for is the image's digest, which is the sha256 hash of its manifest. The "Name" column in the screenshot of GCR's UI is the truncated digest of the image.
The string us.gcr.io/my-project-37111/mysolution.host represents a repository, which is just a collection of images. These images can be referenced by their digest or by a tag.
You can list all the tags in your repository using gcloud:
$ gcloud container images list-tags us.gcr.io/my-project-37111/mysolution.hostThat will show you the truncated digest as well. For the full digest, you can use the --format=json flag:
$ gcloud container images list-tags --format=json us.gcr.io/my-project-37111/mysolution.hostIf you happen to know the tag (0.0.5-linux for the highlighted image), you can call the registry API directly:
$ 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"