Api 通过websocket连接docker容器的标准DIN

Api 通过websocket连接docker容器的标准DIN,api,input,websocket,docker,Api,Input,Websocket,Docker,我正在使用chrome websocket客户端扩展连接到一个正在运行的容器,该容器调用Docker远程API,如下所示: ws://localhost:2375/containers/34968f0c952b/attach/ws?stream=1&stdout=1 容器从我的机器本地启动,在映像中执行一个jar,等待用户输入。基本上,我希望从web浏览器中的输入字段提供此输入 虽然我能够使用API端点进行连接,但我遇到了一些问题—可能是由于我对ws端点的理解不透彻,以及糟糕的文档—我

我正在使用chrome websocket客户端扩展连接到一个正在运行的容器,该容器调用Docker远程API,如下所示:

ws://localhost:2375/containers/34968f0c952b/attach/ws?stream=1&stdout=1
容器从我的机器本地启动,在映像中执行一个jar,等待用户输入。基本上,我希望从web浏览器中的输入字段提供此输入

虽然我能够使用API端点进行连接,但我遇到了一些问题—可能是由于我对ws端点的理解不透彻,以及糟糕的文档—我希望解决这些问题:

1) 当使用chrome websocket客户端扩展发送数据时,根据网络检查工具,帧似乎通过websocket传输。但是,容器中运行的等待输入的进程仅在websocket连接关闭时接收发送的数据—一次全部关闭。这是标准行为吗?直观地说,您希望输入立即发送到流程

2) 如果我同时连接到stdin和stdout,docker deamon会在等待stdin连接时卡住,导致无法看到任何输出:

[debug] attach.go:22 attach: stdin: begin
[debug] attach.go:59 attach: stdout: begin
[debug] attach.go:143 attach: waiting for job 1/2
[debug] server.go:2312 Closing buffered stdin pipe
[error] server.go:844 Error attaching websocket: use of closed network connection
我已经解决了这个问题,为stdin和stdout打开了两个独立的连接,这很有效,但非常烦人。关于这个有什么想法吗

提前谢谢