用JSch运行docker命令

我使用JSch来运行一个docker命令,但是它不起作用,它不会返回任何东西。

ChannelExec channel = (ChannelExec) session.openChannel("exec"); BufferedReader in = new BufferedReader(new InputStreamReader(channel.getInputStream())); channel.setCommand("docker ps -a"); channel.connect(); String msg = null; while ((msg = in.readLine()) != null) { System.out.println(msg); } 

如果我运行一个bash命令为'pwd'或者'ls -l'可以。

我可以期望docker命令将工作在ChannelExec而不是ChannelShell或任何其他types?

 session.openChannel("exec") 

问候。