在 docker-compose 文件中启用“progress plain”

All*_*son 40 docker docker-compose docker-buildkit

当我使用 运行构建时docker-compose build --progress plain,它在构建过程中显示比默认 BuildKit 输出更有用的信息。

有没有办法将简单的进度选项嵌入到 docker-compose.yml 文件本身中,这样我就可以调用docker-compose build并仍然获得更好的输出?

我尝试添加这些构建参数,但它们似乎都不起作用:

build:
    args:
        #progress: plain  
        #- progress=plain  
        #- progress plain  
        #BUILDKIT_PROGRESS: plain  
        #- BUILDKIT_PROGRESS=plain  
Run Code Online (Sandbox Code Playgroud)

has*_*nat 60

如果您不想禁用 buildkit,可以使用

BUILDKIT_PROGRESS=plain docker compose build
# or
BUILDKIT_PROGRESS=plain docker-compose build
Run Code Online (Sandbox Code Playgroud)

或者没有默认提供简单进度的 buildkit

DOCKER_BUILDKIT=0 docker compose build
# or
DOCKER_BUILDKIT=0 docker-compose build
Run Code Online (Sandbox Code Playgroud)

使用 docker 桌面 20.10.8 + docker-compose 2.0.1


msa*_*ord 10

尽管看起来应该可以查看 的当前实现docker-compose,特别_CLIBuilder通过 services dict 的方法调用build

但是,配置模式不存在类似名称的键

所以看来你不能,至少现在还不能。

顺便说一句,从上面来看,我希望最终能在这里找到它

services:
    build:
        progress: plain
Run Code Online (Sandbox Code Playgroud)

而不是args:子键。

  • 以防万一,目前,它仍然返回:“services.app.build 不允许附加属性进度”。 (9认同)
  • 我的解决方法是让 docker-compose.yml 引用图像“image: image-name”,而不是在构建过程中执行“build”。然后使用调用“docker build --progress plain -t image-name && docker-compose up”的包装器脚本 (3认同)

Ale*_*red 6

对于 Compose V2。参考:Compose V2

以下命令最初由 hasnat 共享,但修改为 ComposeV2:

BUILDKIT_PROGRESS=plain docker compose build
Run Code Online (Sandbox Code Playgroud)