为什么使用ProcessBuilder运行docker导致挂起?

时间:2013-07-13 01:12:55

标签: java process docker

我正在尝试使用Java的ProcessBuilder在docker容器中运行命令。但是,它在等待退出代码时挂起。那是为什么?

ProcessBuilder processBuilder = new ProcessBuilder(Arrays.asList("/usr/bin/docker", "run", "base", "echo", "hello"));

Process process = processBuilder.start();

// ... Spin off another thread to collect stdout and stderr

int exitCode = process.waitFor(); // <-- HANG

我可以看到该过程向stdout吐出正确的结果。它永远不会返回退出代码。

1 个答案:

答案 0 :(得分:2)

为什么要使用CLI只是API的包装器?最好直接从java使用它。