如何在Jenkins中获取Docker的Container Id

我正在使用Docker Custom Build Environment Plugin在“jpetazzo / dind”docker镜像中构build我的项目。 build立后,在控制台输出显示:

Docker容器212ad049dfdf8b7180b8c9b185ddfc586b301174414c40969994f7b3e64f68bc开始托pipe构build

$ docker exec –tty 212ad049dfdf8b7180b8c9b185ddfc586b301174414c40969994f7b3e64f68bc env

[工作区] $ docker exec –tty –user 122:docker 4aea29fff86ba4e50dbcc7387f4f23c55ff3661322fb430a099435e905d6eeef env BUILD_DISPLAY_NAME =#73

这里的Docker容器开始有容器ID 212ad049dfdf8b7180b8c9b185ddfc586b301174414c40969994f7b3e64f68bc 。 现在进一步,我想执行一些命令“执行shell”部分在“build设”选项在jenkins,那里我想要使用此容器Id。 我尝试使用插件页面中提到的${BUILD_CONTAINER_ID} 。 但那不行。

文档告诉你使用docker run ,但你正在试图做docker execexec子命令仅适用于当前正在运行的容器。

我想你可以做一个docker run -d在后台启动容器,然后确保在你完成后docker stop 。 不过,我怀疑这会在事情出错的时候给你一些孤立运行的容器。