这是我正在使用的代码:,…并在此处调用
holdhijackedconnection
:,一些注意事项:,sh
是必需的,它是高山图像injection.container
只是保存有关容器的信息,它是一个自定义结构体docker
是一个结构体,用于保存 docker 客户端(来自 github.com/docker/docker/client 的 client
的实例),如果我执行我的应用程序,我得到的 cli 结果是这样的:,/usr/app $ ^[[43;12r
,据我所知,^[[43;12r 是光标位置的 ansi 转义码。我可以执行命令,例如
ls
或 npm i
等,但我总是找回这些 ansi 转义码。,我的问题是,有没有办法从标准输出中删除它们?,我最终发现了。,问题是,我应该使用 github.com/docker/cli/cli/command
包及其 dockercli
而不是 os.std...
。这可以通过设置输出、错误和输入流来为我管理这个问题,如下所示:,如果要添加ctrl+c转义,需要在containerexeccreate
处的execconfig
中设置detachkeys
。否则执行 exit
将分离它。,