Goal
Expand Docker filters to cover docker build and docker compose up/logs — the two highest-noise Docker operations. Currently docker/images.toml and docker/ps.toml exist but don't address build or compose output.
Background
docker build (non-BuildKit / --progress=plain): Each RUN step dumps its full stdout/stderr — apt-get installs, pip installs, npm installs. A typical Dockerfile that installs system packages + Python deps + Node deps can emit 1,000+ lines, mostly download progress bars.
docker compose up: Multiplexes logs from all services simultaneously, each prefixed with a color-coded service name. In CI (no TTY) these become plain-text walls with no clear separation between services, making errors from a single service impossible to spot quickly.
Filters to Add
docker/build.toml — docker build / docker buildx build
- Skip:
#X [stage/N] RUN ... step headers for successful steps, download/extraction progress lines (Get:, Fetching, Extracting, Pull complete, Digest:, Status:)
- Keep:
#X CACHED lines (informational about cache hits), ERROR lines, step headers for the step that failed, COPY / ADD step completion, final Successfully built or error summary
- This is complex because progress format differs between BuildKit and legacy builder
docker/compose.toml — docker compose up / docker compose logs
- Skip: container startup boilerplate (
Attaching to ..., Creating network, Pulling lines for successful pulls)
- Keep:
Error, error, FATAL, panic, WARN level log lines, port binding confirmations, health check results, lines containing failed / exception / crash
- Note: compose log lines are prefixed with service name; preserve the prefix in kept lines
Fixture Files Needed
tests/fixtures/docker/build-success.txt — multi-stage build, mostly cached
tests/fixtures/docker/build-failure.txt — build failure buried in apt-get noise
tests/fixtures/docker/compose-startup.txt — multi-service compose up output
Acceptance Criteria
Goal
Expand Docker filters to cover
docker buildanddocker compose up/logs— the two highest-noise Docker operations. Currentlydocker/images.tomlanddocker/ps.tomlexist but don't address build or compose output.Background
docker build(non-BuildKit /--progress=plain): EachRUNstep dumps its full stdout/stderr — apt-get installs, pip installs, npm installs. A typical Dockerfile that installs system packages + Python deps + Node deps can emit 1,000+ lines, mostly download progress bars.docker compose up: Multiplexes logs from all services simultaneously, each prefixed with a color-coded service name. In CI (no TTY) these become plain-text walls with no clear separation between services, making errors from a single service impossible to spot quickly.Filters to Add
docker/build.toml—docker build/docker buildx build#X [stage/N] RUN ...step headers for successful steps, download/extraction progress lines (Get:,Fetching,Extracting,Pull complete,Digest:,Status:)#X CACHEDlines (informational about cache hits),ERRORlines, step headers for the step that failed,COPY/ADDstep completion, finalSuccessfully builtor error summarydocker/compose.toml—docker compose up/docker compose logsAttaching to ...,Creating network,Pullinglines for successful pulls)Error,error,FATAL,panic,WARNlevel log lines, port binding confirmations, health check results, lines containingfailed/exception/crashFixture Files Needed
tests/fixtures/docker/build-success.txt— multi-stage build, mostly cachedtests/fixtures/docker/build-failure.txt— build failure buried in apt-get noisetests/fixtures/docker/compose-startup.txt— multi-service compose up outputAcceptance Criteria
docker/build.tomlremoves download/extraction progress from successful buildsdocker/compose.tomlremoves routine startup lines