从Groovy脚本运行docker命令

时间:2015-07-13 11:31:34

标签: groovy docker

我有一些docker命令,我想用Groovy脚本运行它们(在Ubuntu环境下工作)

以下命令可从终端正常运行:

docker exec -it my_docker bash -c '/opt/someFolder/someScript.sh'

但是,当我从Groovy脚本运行此命令时,没有任何反应:

['/bin/sh', '-c', "docker exec -it my_docker bash -c '/opt/someFolder/someScript.sh'"].execute().text.trim() 

可能是什么原因?

2 个答案:

答案 0 :(得分:1)

它可能在标准输出上生成了太多数据,因此缓冲区已满,并且进程阻塞。

而不是:

.

执行:

['/bin/sh', '-c', "docker exec -it my_docker bash -c '/opt/someFolder/someScript.sh'"].execute().text.trim() 

答案 1 :(得分:0)

使用

docker exec -t my_docker bash -c '/opt/someFolder/someScript.sh'

不要使用-ti,只需使用-t即可。使用docker exec简单地运行脚本时,您无法进行交互,尤其是任何CI。