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

时间:2017-02-26 22:53:12

标签: go docker io stdout

我有一个应用程序附加到docker容器,以使用docker库提供的containerAttach()函数获取其输出。 该函数返回一个HijackedResponse结构,其中包含指向bufio.Reader的指针。

我尝试将文本从bufio.Reader流式传输到stdout,并在写入stdout的字符串中获得意外字符。

代码:

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

预期产出:

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.

实际输出:

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.

我不知道每一行中的第一个字符来自哪里。任何帮助将非常感激。如果需要,我可以提供有关码头集装箱和货柜的更多细节。附上我在我的代码中使用的选项虽然我认为他们很好,因为我通过阅读器获得了输出。

1 个答案:

答案 0 :(得分:0)

我发现了问题 - 我的containerConfig需要指定Tty: true