127

When building Docker images with DOCKER_BUILDKIT=1, there is a very cool progress indicator but no command output. How do I see the command output to debug my build?

0

3 Answers 3

188

Have you tried --progress=plain?

Example:

  • Dockerfile

    FROM alpine
    RUN ps aux
    
  • build command:

    DOCKER_BUILDKIT=1 docker build --progress=plain -t test_buildkit .
    

Relative output:

#5 [2/2] RUN ps aux
#5       digest: sha256:e2e4ae1e7db9bc398cbcb5b0e93b137795913d2b626babb0f148a60017379d86
#5         name: "[2/2] RUN ps aux"
#5      started: 2019-04-19 09:02:58.922035874 +0000 UTC
#5 0.693 PID   USER     TIME  COMMAND
#5 0.693     1 root      0:00 ps aux
#5    completed: 2019-04-19 09:02:59.721490002 +0000 UTC
#5     duration: 799.454128ms

👉 Also, check the very useful answer by @Cocowalla below about BUILDKIT_PROGRESS=plain

Sign up to request clarification or add additional context in comments.

6 Comments

Also, make sure that the layer where print output is expected is not cached (--no-cache ). Otherwise, it won't print the expected output.
Do you know how to do this but only for one specific RUN line?
Hi @0xfede7c8, no I don't and I also couldn't find anything after a bit of search...
nope, doesn't work anymore. #18 [14/16] RUN ls /app/node_modules #18 DONE 175.0s
See also for docker-compose
|
140

As well as using --progress=plain on the command line, you can also set an environment variable:

BUILDKIT_PROGRESS=plain

I find this particularly useful for CI builds, where I always want the full log.

2 Comments

Thank you! This is very useful when using docker-compose as you can't pass there --progress option.
We can also use BUILDKIT_PROGRESS=plain to ensure the docker build output is not colored and can be seen on a black foreground terminal.
6

With PR #2954 you can specify:

export NO_COLOR=1

There have also been changes in recent versions to make the defaults more readable.

You can pick your own color scheme with the BUILDKIT_COLORS variable, e.g.:

export BUILDKIT_COLORS=run=123,20,245:error=yellow:cancel=blue:warning=white

(Note, if the above doesn't work for you, then that PR likely hasn't made it into your Desktop install yet.)

Other options to solve this include switching to plain output with either the --progress=plain option or export BUILDKIT_PROGRESS=plain. Or you could disable buildkit with export DOCKER_BUILDKIT=0.

2 Comments

Isn't there any Docker config file that can be definitely customized somewehere instead of having to recall those export each time we build a Docker image?
Try setting it in your .bashrc or similar shell config.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.