buildkit icon indicating copy to clipboard operation
buildkit copied to clipboard

[Feature] Show progress of image push on `docker buildx build ... --push ... `

Open markmandel opened this issue 3 years ago • 1 comments

Originally posted at: https://github.com/docker/buildx/issues/1336 but requested to move here.

Problem:

I built some relatively large images for two different architectures (~6GB each) using docker buildx build and are using --push to push them up to the repository at the same time.

Since they are large, they take a while, so I'm sitting looking at a console of:

...
=> CACHED [linux/arm64 15/16] RUN set -eux     && echo "Removing osxcross temp files..."     && rm -rf *~ taballs *.tar.xz     && rm -rf /tmp/*     && true                                                                                  0.0s
 => CACHED [linux/arm64 16/16] WORKDIR /root/src                                                                                                                                                                                              0.0s
 => exporting to image                                                                                                                                                                                                                      487.5s
 => => exporting layers                                                                                                                                                                                                                       0.0s
 => => exporting manifest sha256:b768869a6c74185511097ff0b99ffb690e844903b054bebcc1a5e1de3f2867e3                                                                                                                                             0.0s
 => => exporting config sha256:ef462828ba6074f22fb73e0db79530b602cd73399a24ad22e50317dce6a11ce7                                                                                                                                               0.0s
 => => exporting manifest sha256:605c77a7d7e61c443a78662826028fdd9f83e65ce4cb5a644e093c1d5e2d7f55                                                                                                                                             0.0s
 => => exporting config sha256:f198b33268c0468709559f4642ac3ef2866d1b850dc0c508f6c984ee67c1ac81                                                                                                                                               0.0s
 => => exporting manifest list sha256:0b83f2a82214d7a1a57999304b41b6ebc683fe039743ee0a3997d328a258714f                                                                                                                                        0.0s
 => => pushing layers                                                                                                                                                                                                                       487.4s
 => [auth] nnnn/release/rust-linux-darwin-builder:pull,push token for us-docker.pkg.dev       

That has not moved in around 10 minutes, which is not surprising. But it's hard for me to tell if it's hung or if it's just taking a while, as well as how close to completion it is.

I'd also wondered if it had got stuck at the auth step to be honest.

Proposed Solution:

Have some kind of progress meter display when pushing images, ideally with some kind an indication of % complete, or at least number of layers to go up. docker push does this nicely.

Ideally, would be lovely if it had an estimated time to completion as well 😃

Workarounds:

Only option I have so far - run btop and watch my upload network traffic to see if it's being actively pushed.

markmandel avatar Oct 18 '22 16:10 markmandel