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

我如何获得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 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)