TL; DR:如何将docker容器bash附加到node.js流?
我需要在docker容器bash和最终用户之间实现中继。该应用程序是针对c / cpp,Python和JS的远程编译/运行。一些参考(repl.it,cpp.sh)。要完成我的计划,那就是:
我发现一些带有有趣代码的回购代码是:compilebox,dockerrode和docker-api。
第一,使用容器和一些promise / async black magic来完成任务,将其编译,传送到文件并通过HTTP(get / post)发送给用户。我的问题是因为我需要为用户建立一个类似shell的环境。我的目标是在浏览器上显示一个bash窗口。
第2和第3个实现基于官方HTTP docker engine API的API(我选择了v1.24,因为该版本概述了像我这样的外行)。两者都有两个实体之间某种IO流的示例。像duplexstream这样,但是由于实现上的一些错误,IO无法正常工作(Issue#455)。
所以我的问题是:如何将docker容器bash附加到node.js流?因此,完成后,用户在浏览器中在应用程序中键入的所有内容都会通过HTTP发送到bash容器,并且输出也将发送回去。