doujiu1447 2017-02-26 22:53
浏览 163
已采纳

golang-使用io.Copy的怪异字符从bufio.Reader复制到STDOUT

I have an application that attaches to a docker container to get its output using the containerAttach() function provided by the docker library. That function returns a HijackedResponse struct with a pointer to a bufio.Reader.

I'm trying to stream text from the bufio.Reader to stdout and getting unexpected characters in the strings written to stdout.

The code:

_, err := io.Copy(os.Stdout, hijackedResponse.Reader)

Expected output:

Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but
will not be persisted to local or remote state storage.

Actual output:

6Refreshing Terraform state in-memory prior to plan...
=The refreshed state will be used to calculate this plan, but
9will not be persisted to local or remote state storage.

I have no idea where the first character in each of those lines has come from. Any help would be much appreciated. If needed I can provide more details around the docker container & attach options I'm using in my code although I'm assuming they're fine as I'm getting the output via the reader.

  • 写回答

1条回答 默认 最新

  • dongzongxun8491 2017-02-26 23:45
    关注

    I found the problem - my containerConfig needed to specify Tty: true

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    悬赏问题

    • ¥15 vue引入sdk后的回调问题
    • ¥15 求一个智能家居控制的代码
    • ¥15 ad软件 pcb布线pcb规则约束编辑器where the object matpcb布线pcb规则约束编辑器where the object matchs怎么没有+15v只有no net
    • ¥15 虚拟机vmnet8 nat模式可以ping通主机,主机也能ping通虚拟机,但是vmnet8一直未识别怎么解决,其次诊断结果就是默认网关不可用
    • ¥20 求各位能用我能理解的话回答超级简单的一些问题
    • ¥15 yolov5双目识别输出坐标代码报错
    • ¥15 这个代码有什么语法错误
    • ¥15 给予STM32按键中断与串口通信
    • ¥15 使用QT实现can通信
    • ¥15 关于sp验证的一些东西,求告知如何解决,