123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package daemon
- import (
- "fmt"
- "strings"
- "github.com/docker/docker/errors"
- "github.com/docker/docker/reference"
- )
- func (d *Daemon) imageNotExistToErrcode(err error) error {
- if dne, isDNE := err.(ErrImageDoesNotExist); isDNE {
- if strings.Contains(dne.RefOrID, "@") {
- e := fmt.Errorf("No such image: %s", dne.RefOrID)
- return errors.NewRequestNotFoundError(e)
- }
- tag := reference.DefaultTag
- ref, err := reference.ParseNamed(dne.RefOrID)
- if err != nil {
- e := fmt.Errorf("No such image: %s:%s", dne.RefOrID, tag)
- return errors.NewRequestNotFoundError(e)
- }
- if tagged, isTagged := ref.(reference.NamedTagged); isTagged {
- tag = tagged.Tag()
- }
- e := fmt.Errorf("No such image: %s:%s", ref.Name(), tag)
- return errors.NewRequestNotFoundError(e)
- }
- return err
- }
- 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)
- }
|