mirror of https://github.com/docker/cli.git
Improve error output for `docker stats ...`
While looking into `docker stats <c1> <c2> ...` I noticed that the error output is quite long, especially if there are multiple errors: ```sh ubuntu@ubuntu:~/docker$ docker stats nofound : Error response from daemon: No such container: nofound ubuntu@ubuntu:~/docker$ docker stats nofound foo bar : Error response from daemon: No such container: nofound, : Error response from daemon: No such container: foo, : Error response from daemon: No such container: bar ``` There are several issues, 1. There is an extra `: ` at the beginning. That is because if container is not found, the name will not be available from the daemon. 2. Multiple errors are concatenated with `, ` which will be quite long. This fix: 1. Only prient out the error from daemon. 2. Multiple errors are printed out line by line. Below is the new output: ```sh ubuntu@ubuntu:~/docker$ docker stats nofound Error response from daemon: No such container: nofound ubuntu@ubuntu:~/docker$ docker stats nofound foo bar Error response from daemon: No such container: nofound Error response from daemon: No such container: foo Error response from daemon: No such container: bar ``` Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
parent
fc1222118d
commit
c6b3fcbe32
|
@ -173,14 +173,13 @@ func runStats(dockerCli *command.DockerCli, opts *statsOptions) error {
|
||||||
var errs []string
|
var errs []string
|
||||||
cStats.mu.Lock()
|
cStats.mu.Lock()
|
||||||
for _, c := range cStats.cs {
|
for _, c := range cStats.cs {
|
||||||
cErr := c.GetError()
|
if err := c.GetError(); err != nil {
|
||||||
if cErr != nil {
|
errs = append(errs, err.Error())
|
||||||
errs = append(errs, fmt.Sprintf("%s: %v", c.Name, cErr))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cStats.mu.Unlock()
|
cStats.mu.Unlock()
|
||||||
if len(errs) > 0 {
|
if len(errs) > 0 {
|
||||||
return fmt.Errorf("%s", strings.Join(errs, ", "))
|
return fmt.Errorf("%s", strings.Join(errs, "\n"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue