mirror of https://github.com/docker/compose.git
image can be set to a local ID, that isn't a valid docker ref
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
parent
a351585024
commit
fa39503469
|
@ -94,12 +94,12 @@ func (s *composeService) getImageSummaries(ctx context.Context, repoTags []strin
|
||||||
tag := ""
|
tag := ""
|
||||||
repository := ""
|
repository := ""
|
||||||
ref, err := reference.ParseDockerRef(repoTag)
|
ref, err := reference.ParseDockerRef(repoTag)
|
||||||
if err != nil {
|
if err == nil {
|
||||||
return err
|
// ParseDockerRef will reject a local image ID
|
||||||
}
|
repository = reference.FamiliarName(ref)
|
||||||
repository = reference.FamiliarName(ref)
|
if tagged, ok := ref.(reference.Tagged); ok {
|
||||||
if tagged, ok := ref.(reference.Tagged); ok {
|
tag = tagged.Tag()
|
||||||
tag = tagged.Tag()
|
}
|
||||||
}
|
}
|
||||||
l.Lock()
|
l.Lock()
|
||||||
summary[repoTag] = api.ImageSummary{
|
summary[repoTag] = api.ImageSummary{
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
services:
|
||||||
|
test:
|
||||||
|
image: ${ID:?ID variable must be set}
|
|
@ -191,3 +191,18 @@ func TestUpProfile(t *testing.T) {
|
||||||
assert.Assert(t, strings.Contains(res.Combined(), `Container foo_c Created`), res.Combined())
|
assert.Assert(t, strings.Contains(res.Combined(), `Container foo_c Created`), res.Combined())
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), `Container bar_c Created`), res.Combined())
|
assert.Assert(t, !strings.Contains(res.Combined(), `Container bar_c Created`), res.Combined())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUpImageID(t *testing.T) {
|
||||||
|
c := NewCLI(t)
|
||||||
|
const projectName = "compose-e2e-up-image-id"
|
||||||
|
|
||||||
|
digest := strings.TrimSpace(c.RunDockerCmd(t, "image", "inspect", "alpine", "-f", "{{ .ID }}").Stdout())
|
||||||
|
_, id, _ := strings.Cut(digest, ":")
|
||||||
|
|
||||||
|
t.Cleanup(func() {
|
||||||
|
c.RunDockerComposeCmd(t, "--project-name", projectName, "down", "-v")
|
||||||
|
})
|
||||||
|
|
||||||
|
c = NewCLI(t, WithEnv(fmt.Sprintf("ID=%s", id)))
|
||||||
|
c.RunDockerComposeCmd(t, "-f", "./fixtures/simple-composefile/id.yaml", "--project-name", projectName, "up")
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue