如果您执行docker pull centos:6
示例
从库/中心中拉出
下载[======>] 9.104MB / 69.84MB
我想实时在golang中打印第二条消息
cmd := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
stdout, _ := cmd.StdoutPipe()
cmd.Start()
reader := bufio.NewReader(stdout)
for {
line, _, err := reader.ReadLine()
if err == io.EOF {
break
}
fmt.Printf("%s \n", line)
}
但是此代码无法重写stdout
在Linux docker excute cli docker pull someimage:sometag
第一行在第二行显示“就绪”消息,然后进行更改 “下载”消息
就绪:码头工人拉起fs层(并很快在同一行向下更改)
下载:下载[=====================> 57.38MB / 69.84MB
我想在Go中做同样的事情。有人知道一些好方法吗?
此问题未重复
How to have an in-place string that updates on stdout <-
此链接无法释放我的问题,因为它只使用了一行 重写读取下一个标准输出