Failure while talking to the Docker daemon (transport, HTTP, or API error).
status_code() carries the HTTP status when the daemon replied with an error response (std::nullopt for transport-level failures that never got one). resource_id() carries the id or name of the container / image / network / volume / exec instance the failed call was about — best-effort: it is "" when the call has no single subject (e.g. list_containers), may be empty on parse- and transport-level failures, and on two-resource calls (connect_network) names the primary one.
More status-specific subtypes may be introduced over time (e.g. for 409), so do not assume the dynamic type of a non-404 failure is exactly DockerError — dispatch on status_code() instead.