errors.go 714 B

123456789101112131415161718192021222324252627
  1. package daemon
  2. import (
  3. "strings"
  4. "github.com/docker/distribution/reference"
  5. derr "github.com/docker/docker/errors"
  6. tagpkg "github.com/docker/docker/tag"
  7. )
  8. func (d *Daemon) imageNotExistToErrcode(err error) error {
  9. if dne, isDNE := err.(ErrImageDoesNotExist); isDNE {
  10. if strings.Contains(dne.RefOrID, "@") {
  11. return derr.ErrorCodeNoSuchImageHash.WithArgs(dne.RefOrID)
  12. }
  13. tag := tagpkg.DefaultTag
  14. ref, err := reference.ParseNamed(dne.RefOrID)
  15. if err != nil {
  16. return derr.ErrorCodeNoSuchImageTag.WithArgs(dne.RefOrID, tag)
  17. }
  18. if tagged, isTagged := ref.(reference.Tagged); isTagged {
  19. tag = tagged.Tag()
  20. }
  21. return derr.ErrorCodeNoSuchImageTag.WithArgs(ref.Name(), tag)
  22. }
  23. return err
  24. }