我创建了一个作为docker映像分发的命令行应用程序(即:Dockerfile将ENTRYPOINT指定给该应用程序)。
手动运行它看起来像这样:
docker run --rm -ti cli-app-image --appArgument
我希望从Jenkins运行它作为管道的一部分,并捕获STDOUT输出。
谷歌搜索找不到一个例子。
我尝试通过以下方式进行操作:
docker.image('cli-app-image').withRun {}
以这种方式:
docker.image('cli-app-image').inside {}
但是这些似乎不适合用例。
很乐意得到另一个建议。
答案 0 :(得分:0)
可以将在Docker命令中执行的特定容器的标志和参数作为参数传递给属于Docker全局变量的.withRun
方法。例如,您的具体用法是:
docker.image('cli-app-image').withRun('--appArgument') {}
请注意,withRun
方法已经从本质上覆盖了--rm
的{{1}}参数。您可以在documentation中找到更多信息。
我不确定您在docker run
方法中产生的空白是否代表您要实现的目标,或者您只是保持问题的清洁度。如果需要容器对象,则可以使用lambda临时变量,如下所示:
withRun