docker / docker/cli

Add `--no-trunc` option to `docker stack deploy` for full error messages

Open
#6,225 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature status/0-triage
Dominant language
Go
Stars
6.1k
Forks
2.2k
Avg merge
1d 15h
Merged PRs (30d)
43

Description

Description
Problem

When running docker stack deploy, deployment errors (especially scheduling constraint failures) are truncated in the CLI output. For example:

1/1: no suitable node (scheduling constraints not satisfied on 1 node; host-mod…
overall progress: 0 out of 1 tasks

This truncation makes it difficult to understand why a service could not be scheduled, as the most relevant part of the message is often cut off. This behavior appears to be hardcoded and does not respect terminal width or environment variables like COLUMNS.

Workarounds
  • Manually running docker service ps <service> --no-trunc after deployment
  • Inspecting tasks individually with docker inspect
  • Writing custom scripts to combine deployment and diagnostic commands

These add friction and delay in understanding deployment issues.

Proposal

Add a --no-trunc flag to docker stack deploy, similar to the one already available in docker service ps, which disables truncation of deployment status and error messages.

Other alternatives could include:

  • Respecting the actual terminal width or COLUMNS environment variable
  • Automatically disabling truncation when output is non-interactive (e.g. in CI pipelines)
  • Supporting full output when --verbose or --debug is enabled
Benefits
  • Immediate visibility into deployment failures without requiring follow-up commands
  • Better support for CI/CD pipelines where error visibility is critical
  • Makes docker stack deploy consistent with other CLI commands that support --no-trunc
Related
  • docker service ps already supports --no-trunc and behaves as expected
  • No current CLI flags exist to control truncation during stack deployment

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the docker stack deploy CLI entry point and compare its output handling with the existing docker service ps --no-trunc implementation. Trace the deployment status and error output, then verify that the new option preserves full messages and that the relevant CLI tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.