For example, running docker build --no-cache --progress=tty with
shows this log during the actual building process
but then collapses the output to this shorter log after the build is complete.
This behavior is undesirable, since most developers (in my experience) want to be able to look at the full logs during the build and after the build. The currently “recommended” way to get the full logs is to use --progress=plain.
However, running docker build --no-cache --progress=plain with the same Dockerfile results in
this unreadable mess, where the logs from different parallel stages are mixed together.
So in short, --progress=tty only shows the last 6 lines from each build and clears the logs after the build is done and --progress=plain can’t handle parallel builds properly and is overall actually quite ugly. In my opinion, we really need a --progress=verbose option, which would act exactly like --progress=tty, but the logs will not be limited to 6 lines and they will not get erased after the build step is complete.
I might be wrong, but I can’t imagine that this behavior would be hard to implement, since you just need to turn off the log “truncation” at 7 lines and after the build step finishes.