d4a8d09d |
package daemon
import ( |
a793564b |
"fmt" |
d4a8d09d |
"strings"
|
c452e1bf |
"github.com/docker/docker/api/errors" |
2655954c |
"github.com/docker/docker/reference" |
d4a8d09d |
)
|
4352da78 |
func (d *Daemon) imageNotExistToErrcode(err error) error {
if dne, isDNE := err.(ErrImageDoesNotExist); isDNE {
if strings.Contains(dne.RefOrID, "@") { |
a793564b |
e := fmt.Errorf("No such image: %s", dne.RefOrID)
return errors.NewRequestNotFoundError(e) |
d4a8d09d |
} |
2655954c |
tag := reference.DefaultTag |
4352da78 |
ref, err := reference.ParseNamed(dne.RefOrID)
if err != nil { |
a793564b |
e := fmt.Errorf("No such image: %s:%s", dne.RefOrID, tag)
return errors.NewRequestNotFoundError(e) |
d4a8d09d |
} |
2655954c |
if tagged, isTagged := ref.(reference.NamedTagged); isTagged { |
4352da78 |
tag = tagged.Tag()
} |
a793564b |
e := fmt.Errorf("No such image: %s:%s", ref.Name(), tag)
return errors.NewRequestNotFoundError(e) |
d4a8d09d |
}
return err
} |
a793564b |
type errNotRunning struct {
containerID string
}
func (e errNotRunning) Error() string {
return fmt.Sprintf("Container %s is not running", e.containerID)
}
func (e errNotRunning) ContainerIsRunning() bool {
return false
}
func errContainerIsRestarting(containerID string) error {
err := fmt.Errorf("Container %s is restarting, wait until the container is running", containerID)
return errors.NewRequestConflictError(err)
}
func errExecNotFound(id string) error {
err := fmt.Errorf("No such exec instance '%s' found in daemon", id)
return errors.NewRequestNotFoundError(err)
}
func errExecPaused(id string) error {
err := fmt.Errorf("Container %s is paused, unpause the container before exec", id)
return errors.NewRequestConflictError(err)
} |