我正在尝试使用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吐出正确的结果。它永远不会返回退出代码。