将BuildKit与Docker结合使用时,如何查看RUN命令的输出?

joe*_*ker 9 docker docker-buildkit

使用构建Docker映像时DOCKER_BUILDKIT=1,进度指示器非常酷,但是没有命令输出。我如何查看用于调试构建的命令输出?

Coc*_*lla 60

除了--progress=plain在命令行上使用外,您还可以设置环境变量:

BUILDKIT_PROGRESS=plain

我发现这对于 CI 构建特别有用,我总是想要完整的日志。

  • 谢谢你!这在使用 docker-compose 时非常有用,因为你无法传递 --progress 选项。 (4认同)
  • 我们还可以使用“BUILDKIT_PROGRESS=plain”来确保“docker build”输出不是彩色的,并且可以在黑色前台终端上看到。 (4认同)

tgo*_*gos 13

你试过了--progress=plain吗?

例:

FROM alpine
RUN ps aux
Run Code Online (Sandbox Code Playgroud)

相对输出DOCKER_BUILDKIT=1 docker build --progress=plain -t test_buildkit .

#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
Run Code Online (Sandbox Code Playgroud)

  • 另外,请确保预期打印输出的层没有被缓存(`--no-cache`)。否则,它不会打印预期的输出。 (2认同)