diff --git a/api/client/run.go b/api/client/run.go index 2e83231040..4e6caa3e1f 100644 --- a/api/client/run.go +++ b/api/client/run.go @@ -20,8 +20,8 @@ import ( ) const ( - errCmdNotFound = "not found or does not exist." - errCmdCouldNotBeInvoked = "could not be invoked." + errCmdNotFound = "not found or does not exist" + errCmdCouldNotBeInvoked = "could not be invoked" ) func (cid *cidFile) Close() error { @@ -48,9 +48,8 @@ func (cid *cidFile) Write(id string) error { // if container start fails with 'command cannot be invoked' error, return 126 // return 125 for generic docker daemon failures func runStartContainerErr(err error) error { - trimmedErr := strings.Trim(err.Error(), "Error response from daemon: ") + trimmedErr := strings.TrimPrefix(err.Error(), "Error response from daemon: ") statusError := Cli.StatusError{StatusCode: 125} - if strings.HasPrefix(trimmedErr, "Container command") { if strings.Contains(trimmedErr, errCmdNotFound) { statusError = Cli.StatusError{StatusCode: 127} diff --git a/daemon/start.go b/daemon/start.go index 281f944828..7f5173773c 100644 --- a/daemon/start.go +++ b/daemon/start.go @@ -140,12 +140,12 @@ func (daemon *Daemon) containerStart(container *container.Container) (err error) strings.Contains(err.Error(), "no such file or directory") || strings.Contains(err.Error(), "system cannot find the file specified") { container.ExitCode = 127 - err = fmt.Errorf("Container command '%s' not found or does not exist.", container.Path) + err = fmt.Errorf("Container command '%s' not found or does not exist", container.Path) } // set to 126 for container cmd can't be invoked errors if strings.Contains(err.Error(), syscall.EACCES.Error()) { container.ExitCode = 126 - err = fmt.Errorf("Container command '%s' could not be invoked.", container.Path) + err = fmt.Errorf("Container command '%s' could not be invoked", container.Path) } container.Reset(false)