Fix docker start muliple containers continue on one failed and

add docker start show error message from daemon when start failed

Signed-off-by: Lei Jitang <leijitang@huawei.com>
This commit is contained in:
Lei Jitang
2015-03-08 13:44:25 +08:00
parent faa6fd40f4
commit 2a5a50dca7
2 changed files with 63 additions and 2 deletions
+10 -2
View File
@@ -778,14 +778,18 @@ func (cli *DockerCli) CmdStart(args ...string) error {
return err
}
}
var encounteredError error
for _, name := range cmd.Args() {
_, _, err := readBody(cli.call("POST", "/containers/"+name+"/start", nil, false))
if err != nil {
if !*attach && !*openStdin {
// attach and openStdin is false means it could be starting multiple containers
// when a container start failed, show the error message and start next
fmt.Fprintf(cli.err, "%s\n", err)
encounteredError = fmt.Errorf("Error: failed to start one or more containers")
} else {
encounteredError = err
}
return fmt.Errorf("Error: failed to start one or more containers")
} else {
if !*attach && !*openStdin {
fmt.Fprintf(cli.out, "%s\n", name)
@@ -793,6 +797,10 @@ func (cli *DockerCli) CmdStart(args ...string) error {
}
}
if encounteredError != nil {
return encounteredError
}
if *openStdin || *attach {
if tty && cli.isTerminalOut {
if err := cli.monitorTtySize(cmd.Arg(0), false); err != nil {