docker/cli · error

errors pretty printing info

Error message

errors pretty printing info

What it means

Returned by `docker info` (pretty, non-format output) after printing everything, if any client-side or server-side errors were collected while gathering the info (info.ClientErrors / info.ServerErrors). The individual errors were already printed to stderr as `ERROR: ...` lines; this sentinel error just makes the command exit non-zero so scripts can detect the partial failure.

Source

Thrown at cli/command/system/info.go:212

	}
	if info.ClientInfo != nil {
		prettyPrintClientInfo(streams, *info.ClientInfo)
	}
	for _, err := range info.ClientErrors {
		fprintln(streams.Err(), "ERROR:", err)
	}

	fprintln(streams.Out())
	fprintln(streams.Out(), "Server:")
	if info.Info != nil {
		prettyPrintServerInfo(streams, &info)
	}
	for _, err := range info.ServerErrors {
		fprintln(streams.Err(), "ERROR:", err)
	}

	if len(info.ServerErrors) > 0 || len(info.ClientErrors) > 0 {
		return errors.New("errors pretty printing info")
	}
	return nil
}

func prettyPrintClientInfo(streams command.Streams, info clientInfo) {
	fprintlnNonEmpty(streams.Out(), " Version:   ", info.Version)
	fprintln(streams.Out(), " Context:   ", info.Context)
	fprintln(streams.Out(), " Debug Mode:", info.Debug)

	if len(info.Plugins) > 0 {
		fprintln(streams.Out(), " Plugins:")
		for _, p := range info.Plugins {
			if p.Err == nil {
				fprintf(streams.Out(), "  %s: %s (%s)\n", p.Name, p.ShortDescription, p.Vendor)
				fprintlnNonEmpty(streams.Out(), "    Version: ", p.Version)
				fprintlnNonEmpty(streams.Out(), "    Path:    ", p.Path)
			} else {
				info.Warnings = append(info.Warnings, fmt.Sprintf("WARNING: Plugin %q is not valid: %s", p.Path, p.Err))

View on GitHub (pinned to e9452d6e78)

Solutions

  1. Read the `ERROR:` lines printed just above on stderr — they contain the real cause; fix that (start the daemon, fix socket permissions, correct DOCKER_HOST).
  2. Check daemon connectivity: `systemctl status docker` and `docker version`.
  3. Remove or update broken CLI plugins in ~/.docker/cli-plugins if the errors reference plugins.
  4. Ensure your user can access the socket (add to the docker group or use sudo).

When it happens

Trigger: `docker info` when the daemon is unreachable (server section errors), a CLI plugin fails to load or report its version (client errors), or the /info API call partially fails — any entry in ClientErrors or ServerErrors triggers it at cli/command/system/info.go:212.

Common situations: Docker daemon not running or socket permission denied (user not in docker group); broken or outdated CLI plugins in ~/.docker/cli-plugins (e.g. stale buildx/compose binaries); DOCKER_HOST pointing at a dead endpoint; TLS/cert misconfiguration.

Related errors


AI-assisted analysis of docker/cli@e9452d6e78 (2026-08-01). Data as JSON: /data/errors/1b04e6a9a1cc9fe7.json. Report an issue: GitHub.