DigitalOcean:如何通过Java API在新创build的Droplet上运行Docker命令

我试图创build一个新的Droplet,然后通过UserData bash脚本启动Docker命令。 创build水滴时,我通过Java API设置用户数据,并观察创build的testing文件和日志。

newDroplet.setUserData("#!/bin/bash\n" + "touch /test.txt;"+ "docker login --username=myname--password=mypass > /loginlog;"+ "docker pull mybuild > /pulllog;"+ "docker run --log-opt max-size=1g --net host --name myserver -t -i mybuild > /runlog;"); 

loginlog和pulllog都显示成功的结果。 然而在文件runlog中没有任何东西存在。

我可以ssh进入液滴,然后运行完全相同的docker命令,并按预期运行。 为什么不能从用户数据脚本运行? 为什么没有生成输出?

问题最终成为docker run命令中的-t标志。 显然这不起作用,因为它不是一个terminal或类似的东西。 删除国旗,它运行良好。