Jit*_*ice 7 jenkins jenkins-plugins docker dockerfile docker-compose
我需要通过 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
Run Code Online (Sandbox Code Playgroud)
在运行作业时,它告诉“ID 无效”。谁能建议,如何在 jenkins 中获取 docker 的 Image ID?
Fra*_*ois 12
基于docker 文档的一个班轮:
sudo docker images --filter=reference=image_name --format "{{.ID}}"
Run Code Online (Sandbox Code Playgroud)
替换image_name为您的实际 docker 映像名称。您可以将该值存储在 shell 变量中以供进一步参考:
IMAGE_ID=$(sudo docker images --filter=reference=image_name --format "{{.ID}}")
然后访问它 $IMAGE_ID
小智 12
解决这个问题的更简单的方法是:
docker images --filter="reference=your_image_name" --quiet
Run Code Online (Sandbox Code Playgroud)
该命令的含义:
参考: https: //docs.docker.com/engine/reference/commandline/images/
您可以使用以下命令查看 docker 映像 ID(对于您已构建或从 docker hub 提取的映像):docker images
OP评论后更新:
docker images --filter仅实现 dangling=true,因此您无法使用这种方式搜索容器 id。所以你必须依赖 shell 脚本,下面是一个例子:
docker images | grep -E '^golang.*latest' | awk -e '{print $3}'
Run Code Online (Sandbox Code Playgroud)
您需要定制 grep 中的正则表达式以匹配您的图像名称和标签。
| 归档时间: |
|
| 查看次数: |
16453 次 |
| 最近记录: |