如何获得jenkins中docker的图像ID?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得jenkins中docker的图像ID?相关的知识,希望对你有一定的参考价值。

我需要通过Jenkins运行docker容器。为此,我使用“开始/停止Docker容器”作为构建步骤

启动/停止Docker容器

Action to choose        : Run container
Docker Cloud name       : docker_demo
ID                      : DOCKER_IMAGE_ID
DNS     
Port bindings           :port
Bind all declared ports :   
Hostname                : ip address

在运行作业时,它会告诉“无效ID”。任何人都可以建议,如何在jenkins中获取docker的图像ID?

答案

您可以使用以下命令查看docker image id(对于您从docker hub构建或提取的图像):docker images

OP评论后更新:

docker images --filter只实现了dangling = true,因此您无法使用这种方式搜索容器ID。所以你必须依赖shell脚本,这是一个例子:

docker images | grep -E '^golang.*latest' | awk -e '{print $3}' 

您需要在grep中定制正则表达式以匹配您的图像名称和标记。

另一答案

基于docker documentation的一条班轮:

sudo docker images --filter=reference=image_name --format "{{.ID}}"

用您的实际泊坞窗图像名称替换image_name。您可以将该值存储在shell变量中,以便进一步引用:

IMAGE_ID=$(sudo docker images --filter=reference=image_name --format "{{.ID}}"

然后使用$IMAGE_ID访问它

另一答案
docker ps -a --format "{{.ID}}" | head -1

占位符

。ID

.Repository

。标签

。消化

.CreatedSince

.CreatedAt

。尺寸

以上是关于如何获得jenkins中docker的图像ID?的主要内容,如果未能解决你的问题,请参考以下文章

来自 AWS ECR 的 Jenkins 管道 Docker 代理

从jenkins docker ecs容器中访问ecr图像

从 kubernetes 插件 / jenkins 中的 gcr 拉取 docker 图像的问题

jenkins 管道脚本中 docker 容器的 if else 条件

Prisma 随机在 jenkins 中找不到 docker 图像

docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令