![](/img/trans.png)
[英]Jenkins: extract version and artifactid from maven for docker image name/tag
[英]How to extract docker image name from sha
我正在尝试使用sha256值解析docker映像名称。 码头工人是否已经提供了执行此操作的API? 还是我需要自己写点东西?
按照@Zgurskyi的建议,我尝试使用检阅,但它以某种方式给我错误:
# docker images --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
alpine 3.4 sha256:b733d4a32c4da6a00a84df2ca32791bb03df95400243648d8c539e7b4cce329c b7c5ffe56db7 7 weeks ago 4.82MB
# docker image inspect b733d4a32c4da6a00a84df2ca32791bb03df95400243648d8c539e7b4cce329c
[]
Error: No such image: b733d4a32c4da6a00a84df2ca32791bb03df95400243648d8c539e7b4cce329c
TIA。
您可以使用inspect
命令, RepoTags
可能是您需要的信息:
docker image inspect <sha256>
如果安装了jq
,则只需使用以下命令:
docker image inspect <sha256> | jq .[0].RepoTags
要解析摘要,您还需要存储库名称。 例如:
docker inspect alpine@sha256:b733d4a32c4da6a00a84df2ca32791bb03df95400243648d8c539e7b4cce329c
您还可以使用docker格式化而不是依赖jq
(虽然它确实应该安装),但不一定总是安装它:
# to list the first RepoTag, this can fail if the RepoTags list is empty (locally built image):
$ docker image inspect "${repo}@${sha256}" --format '{{index .RepoTags 0}}'
# to list all RepoTags with a space separator:
$ docker image inspect "${repo}@${sha256}" --format '{{range $v := .RepoTags}}{{$v}} {{end}}'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.