Error message was different if image was specified with the full ID.
Fixes #19652
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
| ... | ... |
@@ -1228,6 +1228,9 @@ func (daemon *Daemon) ImageHistory(name string) ([]*types.ImageHistory, error) {
|
| 1228 | 1228 |
func (daemon *Daemon) GetImageID(refOrID string) (image.ID, error) {
|
| 1229 | 1229 |
// Treat as an ID |
| 1230 | 1230 |
if id, err := digest.ParseDigest(refOrID); err == nil {
|
| 1231 |
+ if _, err := daemon.imageStore.Get(image.ID(id)); err != nil {
|
|
| 1232 |
+ return "", ErrImageDoesNotExist{refOrID}
|
|
| 1233 |
+ } |
|
| 1231 | 1234 |
return image.ID(id), nil |
| 1232 | 1235 |
} |
| 1233 | 1236 |
|
| ... | ... |
@@ -32,4 +32,14 @@ func (s *DockerSuite) TestApiCreateWithNotExistImage(c *check.C) {
|
| 32 | 32 |
expected = "No such image: test456:latest" |
| 33 | 33 |
c.Assert(strings.TrimSpace(string(resp)), checker.Equals, expected) |
| 34 | 34 |
|
| 35 |
+ config3 := map[string]interface{}{
|
|
| 36 |
+ "Image": "sha256:0cb40641836c461bc97c793971d84d758371ed682042457523e4ae701efeaaaa", |
|
| 37 |
+ } |
|
| 38 |
+ |
|
| 39 |
+ status, resp, err = sockRequest("POST", "/containers/create?name="+name, config3)
|
|
| 40 |
+ c.Assert(err, check.IsNil) |
|
| 41 |
+ c.Assert(status, check.Equals, http.StatusNotFound) |
|
| 42 |
+ expected = "No such image: sha256:0cb40641836c461bc97c793971d84d758371ed682042457523e4ae701efeaaaa" |
|
| 43 |
+ c.Assert(strings.TrimSpace(string(resp)), checker.Equals, expected) |
|
| 44 |
+ |
|
| 35 | 45 |
} |