我正在尝试使用 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
我可以看到该过程将正确的结果吐出到标准输出。它只是从不返回退出代码。