dsa88886666 2019-06-18 07:10
浏览 328

我如何获得docker build登录下载进度标准输出

FROM centos:6.7

RUN ls -al

WORKDIR /

CMD "echo hi"

this is simple Dockerfile

I will create an image with this dockerfile and i'm not use shell cmd

i'm using golang "exec" package and here is code

func execCommand(buildCmd string) {

cmdArgs := strings.Fields(buildCmd)

cmd := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
cmdReader, _ := cmd.StdoutPipe()
cmdReaderErr, _ := cmd.StderrPipe()

scanner := bufio.NewScanner(cmdReader)
scannerErr := bufio.NewScanner(cmdReaderErr)

cmd.Start()
go func() {

    for scanner.Scan() {
        fmt.Println("docker build out | ", scanner.Text())
    }

    if scannerErr.Scan() {
        fmt.Print("docker build out err | ", scannerErr.Text())
    }
    fmt.Println("end end end end ")

    }()
}

this code is work well but here's the problem

  1. docker build out | Sending build context to Docker daemon 30.36MB

  2. docker build out | Step 1/4 : FROM centos:6.7

  3. docker build out | 6.7: Pulling from library/centos

  4. docker build out | cbddbc0189a0: Pulling fs layer

4 line Pulling fs layer has can't change download progress bar

and suddenly showing next line

  1. docker build out | Sending build context to Docker daemon 30.36MB

  2. docker build out | Step 1/4 : FROM centos:6.7

  3. docker build out | 6.7: Pulling from library/centos

  4. docker build out | cbddbc0189a0: Pulling fs layer

  5. docker build out | cbddbc0189a0: Verifying Checksum

  6. docker build out | cbddbc0189a0: Download complete

  7. docker build out | cbddbc0189a0: Pull complete

  8. docker build out | Digest: sha256:4c952fc7d30ed134109c769387313ab864711d1bd8b4660017f9d27243622df1

  9. docker build out | Status: Downloaded newer image for centos:6.7

this is shell command docker build log

docker build -t test:v1 .

Sending build context to Docker daemon 30.36MB

Step 1/4 : FROM centos:6.7

6.7: Pulling from library/centos

cbddbc0189a0: Downloading [===============> ] 20.92MB/67.81MB

golang stdout dosen't show Downloading [===============> ] 20.92MB/67.81MB

how can i show this stdout?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 安装svn网络有问题怎么办
    • ¥15 Python爬取指定微博话题下的内容,保存为txt
    • ¥15 vue2登录调用后端接口如何实现
    • ¥65 永磁型步进电机PID算法
    • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
    • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
    • ¥15 如何处理复杂数据表格的除法运算
    • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
    • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
    • ¥15 latex怎么处理论文引理引用参考文献