【问题标题】:When using BuildKit with Docker, how do I see the output of RUN commands?在 Docker 中使用 BuildKit 时,如何查看 RUN 命令的输出?
【发布时间】:2019-09-09 09:38:25
【问题描述】:

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

【问题讨论】:

    标签: docker docker-buildkit


    【解决方案1】:

    你试过--progress=plain吗?

    例子:

    FROM alpine
    RUN ps aux
    

    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
    

    ? 另外,请查看下面@Cocowalla 提供的关于BUILDKIT_PROGRESS=plain 的非常有用的答案

    【讨论】:

    • 另外,确保预期打印输出的层没有被缓存 (--no-cache )。否则,它不会打印预期的输出。
    【解决方案2】:

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

    BUILDKIT_PROGRESS=plain

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

    【讨论】:

    • 谢谢!这在使用 docker-compose 时非常有用,因为您无法通过 --progress 选项。
    • 我们还可以使用BUILDKIT_PROGRESS=plain 来确保docker build 输出没有着色,并且可以在黑色的前台终端上看到。
    猜你喜欢
    • 2016-09-08
    • 2018-02-23
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多