如何在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 exec
。 exec
子命令仅适用于当前正在运行的容器。
我想你可以做一个docker run -d
在后台启动容器,然后确保在你完成后docker stop
。 不过,我怀疑这会在事情出错的时候给你一些孤立运行的容器。